我有一个像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
但它没有给出结果。 (它只是给了我元组...)我想根据价值对字典进行排序。
答案 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)