我需要排序一個字典,其中鍵是用字符串表示的級分,並且需要通過其數值來排序:如何按值排序字典,當鍵是由字符串表示的分數?
即:
exp_time = {"2":10, "1/2":5:, "2.5":11, "1/200":9, "15":3, "1/30":6}
結果應該是這樣的(降序):
15
2.5
2
1/2
1/30
1/200
我需要排序一個字典,其中鍵是用字符串表示的級分,並且需要通過其數值來排序:如何按值排序字典,當鍵是由字符串表示的分數?
即:
exp_time = {"2":10, "1/2":5:, "2.5":11, "1/200":9, "15":3, "1/30":6}
結果應該是這樣的(降序):
15
2.5
2
1/2
1/30
1/200
>>> import fractions
>>> exp_time = {"2":10, "1/2":5, "2.5":11, "1/200":9, "15":3, "1/30":6}
>>> sorted(exp_time, key=fractions.Fraction, reverse=True)
['15', '2.5', '2', '1/2', '1/30', '1/200']
Python標準庫FTW。 – orlp
+1,我不知道「分數」模塊。我即將發佈相同的答案,但手動執行'fractions.Fraction'。 –
值得一提的是,標準字典是**無序**。如果所有OP關心的是這個最終列表,那麼應該使用像'collections.OrderedDict'這樣的有序字典(Python 2.7+)。 –
'dict'的本身不能進行排序,雖然他們的密鑰列表即可。 – martineau
您可能也對[python中的按鍵排序字典](http://stackoverflow.com/q/1319763/355230)中的問題的答案感興趣。 – martineau