Python - 使用元组键对dict进行排序

时间:2016-01-06 21:32:14

标签: python sorting key tuples

我的问题与这个问题的答案有关:
Sort a Python dictionary by value

  

对于那些希望按键而不是值进行排序的人:

import operator
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
sorted_x = sorted(x.items(), key=operator.itemgetter(0))

当我的键是元组时,如何对上面的键进行排序?例如,A: {(-2929109664628200379, 10): table, (-3884855813103006483, 15): chair},使用密钥中的第二个数字进行排序。

修改
通过创建一个函数getKey来返回我想要的值,现在我意识到这是一个微不足道的问题,谢谢你@jonrsharpe

1 个答案:

答案 0 :(得分:0)

只需对键进行排序并进行查找,然后按第二个元素对键进行排序:

d = {(-2929109664628200379, 10): "table", (-3884855813103006483, 15): "chair"}

sted = [(k, d[k]) for k in sorted(d,key=itemgetter(1))]