2016-04-23 34 views
1

我有這樣prob = {('be', 'limited'): 0.004, ('the', 'book'): 0.000432, ......}如何排序其鍵爲元組並且值爲int的字典?

一個字典排序我用

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

,但它並沒有給結果。 (它只是給了我元組..)我想根據價值對字典進行排序。

回答

2

您應該致電sortedprob.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) 
+0

太感謝你了。 :) –

相關問題