python - 排序python字典

标签 python sorting

我有这本字典:

a = {(u'A', 4): [u'alpha', u'beta', u'gamma'],
     (u'B', 2): [28, 29, 28],
     (u'C', 5): [u'Yes',u'Yes', u'Yes'],
     (u'E', 1): [u'delta', u'omega', u'eta'], 
     (u'F', 3): [u'No', u'Yes', u'No']}

我想对其进行排序并得到:

a = {(u'E', 1) : [u'delta', u'omega', u'eta'],
     (u'B', 2) : [28, 29, 28],
     (u'F', 3) : [u'No', u'Yes', u'No'],
     (u'A', 4) : [u'alpha', u'beta', u'gamma'],
     (u'C', 5):[u'Yes',u'Yes', u'Yes']}

按键排序,但在我的例子中,我有一个元组。我想按数字将字典排序到 tuple (key[1]) 中。

最佳答案

使用 collections.OrderedDict :

from collections import OrderedDict

a = {(u'A', 4): [u'alpha', u'beta', u'gamma'], 
     (u'B', 2): [28, 29, 28],
     (u'C', 5): [u'Yes',u'Yes', u'Yes'], 
     (u'E', 1): [u'delta', u'omega', u'eta'], 
     (u'F', 3): [u'No', u'Yes', u'No']}

b = OrderedDict(sorted(a.items(), key=lambda x:x[0][1]))

print b

关于python - 排序python字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20855325/

相关文章:

python - 自动删除 django 中超过 10 天的数据

python - 如何填充字符串中的所有数字

ruby - 根据字符串的最后一个单词对数组进行排序

javascript - DataTables 对列名称的二次排序单击

java - 从java中的数组中查找重复元素出现两次以上

sorting - 如何对这个lua表进行排序?

python - 由于 eventlet Monkey_patch,APScheduler 任务未触发

python - 动态创建的类方法在运行时可以知道它们的 'created' 名称吗?

java - 使用文件参数通过 Java 运行 python 脚本

linux - 不同顺序的多重排序