Python:为什么我得到不同的排序结果

时间:2015-10-06 18:02:26

标签: python

我正在尝试编写一个函数,其中取一个字典,其值是元组,并按元组中的值对它们进行排序。但是我很困惑。

如果我跑

return sorted(mydict.values(), key=lambda x:x[0])

它按照我想要的顺序返回所有内容,但它不会返回带有它的字典键,这是我需要的。

所以我试着运行这个:

return sorted(mydict.items(), key=lambda x:x[1])

但排序变得不同。

就订购而言,这两个电话有什么区别?

2 个答案:

答案 0 :(得分:1)

第一个仅按值的第一个元素排序,而第二个按整个值排序。如果你想要相同的结果,那么你需要删除第一个上的key参数或者修改第二个上的key参数来另外访问第一个元素。

答案 1 :(得分:1)

如Ignacio所述,您按照Items的整个值进行排序。您可以使用下面的代码段按键或值进行排序:

{{1}}