【发布时间】:2012-01-01 21:00:41
【问题描述】:
我有一本结构如下的字典:
{'ONE' : (4, 6, 9), 'TWO' : (3, 8, 10)}
我想按每个元组的第三个值对这个字典进行排序。我真的想不出一种方法来将数据设置为字典来完成此操作,但如果我可以将数据转换为嵌套列表,如下所示:
[['ONE', 4, 6, 9], ['TWO', 3, 8, 10]]
我正在寻找最有效的代码来实现这一点。如果有一种方法可以在不转换字典的情况下对其进行排序,那将是理想的。如果没有,将不胜感激从字典到嵌套列表转换的任何帮助。谢谢。
【问题讨论】:
-
字典没有顺序的概念,所以你不能对它们进行排序。你需要以一种间接的方式来做,就像你建议的那样。
-
实际上,python 2.7 有 OrderedDict class
-
但他们只记得输入键的顺序。您仍然需要一些技巧来对数据进行排序(并在此过程中创建一个新的
OrderedDict)
标签: python python-3.x list dictionary nested-lists