Python按键返回字典itembrter的值排序字典

时间:2017-10-21 13:09:49

标签: python sorting dictionary

创建x这两个函数是否相同?我不明白为什么itemgetter在这种情况下使用0作为输入时似乎返回正确的变量。

itemgetter是否按字典键正确排序?他们都打印相同的

from operator import itemgetter

lvls = {1: ["t1","t2"], 2: ["t3","t4"], 3: ["tdfgdf99","x99"]}

x = sorted((v for k,v in lvls.items()),key=itemgetter(0),reverse=True)

print (x)

x = sorted((v for k,v in lvls.items()),key=lambda k: k,reverse=True)

print (x)

1 个答案:

答案 0 :(得分:1)

itemgetter(0)获取0th索引处的项目。

在第一种情况下,您按相反的顺序对0th的{​​{1}}索引进行排序。所以基本上你实际上在做的是以相反的顺序排序[“t1”,“t2”],[“t3”,“t4”]和[“tdfgdf99”,“x99”]的v索引。 / p>

在第二种情况下,您正在排序0th这是列表值 - 基本上是v,顺序相反。 [["t1","t2"], ["t3, "t4"], ["tdfgdf99","x99"]]的目的是简单地从此列表中选择一个元素并返回。