Здесь был задан вопрос о SO , несколько минут назад о сортировке ключей словаря по их значениям.
Я только что прочитал о методе сортировки operator.itemgetter
несколько дней назад и решил попробовать его, но, похоже, он не работает.
Не то, чтобы у меня были проблемы с этим. ответы на вопросы, я просто хотел попробовать это с помощью operator.itemgetter
.
Итак, диктат был:
>>> mydict = { 'a1': ['g',6],
'a2': ['e',2],
'a3': ['h',3],
'a4': ['s',2],
'a5': ['j',9],
'a6': ['y',7] }
Я пробовал это:
>>> l = sorted(mydict.itervalues(), key=operator.itemgetter(1))
>>> l
[['e', 2], ['s', 2], ['h', 3], ['g', 6], ['y', 7], ['j', 9]]
И это работает так, как я хочу. Однако, поскольку у меня нет полного словаря ( mydict.itervalues ()
), я попробовал следующее:
>>> complete = sorted(mydict.iteritems(), key=operator.itemgetter(2))
Это не работает (как я ожидал).
Итак, как Сортировка словаря с помощью operator.itemgetter
и вызов itemgetter
для вложенной пары ключ-значение.