Python按键排序字典返回值列表itemg

2024-09-29 01:23:40 发布

您现在位置:Python中文网/ 问答频道 /正文

这两个创建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)

Tags: key函数intruefor字典排序items
1条回答
网友
1楼 · 发布于 2024-09-29 01:23:40

itemgetter(0)获取0th索引处的项。你知道吗

在第一种情况下,您将0thv索引按相反顺序排序。所以基本上你实际上在做的是按相反的顺序排列0th索引[“t1”,“t2”],[“t3”,“t4”]和[“tdfgdf99”,“x99”]。你知道吗

在第二种情况下,您将v排序,这是列表值-基本上[["t1","t2"], ["t3, "t4"], ["tdfgdf99","x99"]]是按相反的顺序排序的。lambda k: k的目的就是从这个列表中选择一个元素并返回。你知道吗

相关问题 更多 >