2013-03-06 215 views
5

我有一個字典d = {'a': '1', 'c': '10', 'b': '8', 'e': '11', 'g': '3', 'f': '2'}。我想對數字值爲d.values()的字典進行排序。必填ans是['a','f', 'g', 'b', 'c', 'e']。我檢查了here。我無法根據d.values()的整數值進行排序。按字典的數值排序字典

回答

12
>>> d = {'a': '1', 'c': '10', 'b': '8', 'e': '11', 'g': '3', 'f': '2'} 
>>> sorted(d, key=lambda i: int(d[i])) 
['a', 'f', 'g', 'b', 'c', 'e'] 
0

這是因爲您的字典中的值的類型爲string:請注意數字周圍的引號。嘗試設置您的字典爲:

d = {'a':1, 'c':10, 'b':8, 'e':11, 'g':3, 'f':2}