Python:对列表字典进行排序

周杰伦:

仍在学习python(最后!),还不能完全绕过这个问题。我想做的是使用列表中的第三项按值对列表字典进行排序。当值只是一个数字或字符串时,按值对字典排序很容易,但是这个清单让我感到困惑。

例:

myDict = { 'item1' : [ 7, 1, 9], 'item2' : [8, 2, 3], 'item3' : [ 9, 3, 11 ] }

我希望能够按每个列表中第三个值的顺序遍历字典,在这种情况下为9、3、11。

非常感谢您的帮助!

艾曼·霍里(Ayman Hourieh):

这是执行此操作的一种方法:

>>> sorted(myDict.items(), key=lambda e: e[1][2])
[('item2', [8, 2, 3]), ('item1', [7, 1, 9]), ('item3', [9, 3, 11])]

key参数的的sorted功能,可以让您导出列表中的每个元素的排序键。

要遍历此列表中的键/值,可以使用以下方法:

>>> for key, value in sorted(myDict.items(), key=lambda e: e[1][2]):
...   print key, value
... 
item2 [8, 2, 3]
item1 [7, 1, 9]
item3 [9, 3, 11]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章