Почему не работает mydict.items (). Sort ()? - PullRequest
1 голос
/ 31 июля 2010

Когда я пытаюсь отсортировать свой словарь, я получаю сообщение об ошибке: объект «nontype» не повторяется.

Я делаю:

for k,v in mydict.items().sort():

1 Ответ

12 голосов
/ 31 июля 2010

Метод sort возвращает None (он отсортировал временный список, заданный items(), но его больше нет). Использование:

for k, v in sorted(mydict.iteritems()):

Использование .items() вместо .iteritems() также нормально (и необходимо, если вы находитесь в Python 3), но в Python 2 (где .items() создает и возвращает список, а .iteritems() нет, просто возвращает итератор), избегая создания дополнительного списка, это выгодно - sorted создаст свой собственный список для возврата, в любом случае, без изменения аргумента, переданного ему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...