我有這樣一本字典:
A = {'Name1':34, 'Name2': 12, 'Name6': 46,....}
我想要的清單按值排序的按鍵,即[Name2, Name1, Name6....]
謝謝!
我有這樣一本字典:
A = {'Name1':34, 'Name2': 12, 'Name6': 46,....}
我想要的清單按值排序的按鍵,即[Name2, Name1, Name6....]
謝謝!
我會使用:
items = dict.items()
items.sort(key=lambda item: (item[1], item[0]))
sorted_keys = [ item[0] for item in items ]
的key
參數排序是一個可調用它返回要使用的排序鍵。在這種情況下,我返回一個(value, key)
的元組,但是如果您願意,您可以返回值(即key=lambda item: item[1]
)。
另一種解決方案更簡單,更易於閱讀。 –
sorted(a.keys(), key=a.get)
此排序鍵,並且每個鍵,使用a.get
找到它的排序值使用的值。
請注意,沒有必要使用'a.keys',它會生成一個鍵列表。 'a'(或'a.iterkeys()')已經可以在字典a的鍵上迭代了。 –
是的,我知道這是沒有必要的,但我認爲它會更好。我認爲字典是成對的容器,而不是容器的鑰匙。 –
使用sorted
的key
論證的意見@Felix
sorted(d, key=d.get)
謝謝,但我搜索之前,我問和答案是不是我所需要的。 – Alejandro
我不同意,有很多類似的問題與你正在尋找的答案。例如。在我所關聯的問題中,第二高的投票答案提供了與此處或者最高投票答案相同的解決方案[這些答案](http://stackoverflow.com/questions/3417760/how-to-sort-a-python-dict-by-value)。你可能不得不嘗試一些東西,但問題已經在這裏了。 –
「答案不是我所需要的」。無用的陳述。現有答案中缺少什麼? **他們如何**不完整或誤導? **什麼**使您的問題獨特?請成爲**具體**。 –