Я только что прочитал о методе operator.itemgetter
сортировки несколько дней назад и решил попробовать, но он, похоже, не работает.
Не то, чтобы у меня были проблемы с ответами на вопросы, я просто хотел попробовать это с помощью operator.itemgetter
.
Таким образом, dict был:
>>> 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))
Это не работает (как я и ожидал).
Итак, как мне сортировать dict с помощью operator.itemgetter
и вызывать itemgetter
на пару вложенных ключей.