我怎样才能对其键为元组且值为int的字典进行排序?

时间:2016-04-23 05:05:42

标签: python sorting

我有一个像prob = {('be', 'limited'): 0.004, ('the', 'book'): 0.000432, ......}

这样的词典

用于排序我用过

for k, v in sorted(prob, key = lambda x: x[1], reverse = True):
    print k, v 

但它没有给出结果。 (它只是给了我元组...)我想根据价值对字典进行排序。

1 个答案:

答案 0 :(得分:2)

您应该使用sorted拨打prob.items(),否则只会在排序后返回密钥。

sorted(prob.items(), key = lambda x: x[1], reverse = True)

您可以将其存储到collection.OrderedDict中,以便记住添加项目的顺序:

>>> dct = sorted(prob.items(), key=lambda x: x[1], reverse=True)
>>> result = collections.OrderedDict(dct)