我想對字典進行如下排序:
從
unsorted_list : {'F': 3, 'A': 1, 'B': 2, 'C': 2, 'E': 2, 'D': 1,}
到
sorted_list : {'D': 1, 'A': 1, 'E': 2, 'C': 2, 'B': 2, 'F': 3,}
所以,
- 然后按值升序排序,
- 按鍵降序排序
我怎樣才能通過python做到這一點?
uj5u.com熱心網友回復:
字典保留插入順序,因此如果您想重新排序它們,您需要構建一個新的字典,您可以在其中以所需的順序插入專案。您可以通過對字典進行排序items()然后將結果傳遞給dict():
>>> d = {'F': 3, 'A': 1, 'B': 2, 'C': 2, 'E': 2, 'D': 1,}
>>> dict(sorted(d.items(), key=lambda i: (-i[1], i[0]), reverse=True))
{'D': 1, 'A': 1, 'E': 2, 'C': 2, 'B': 2, 'F': 3}
請注意,如果字典排序對您的用例很重要,您可能需要使用OrderedDict,它對就地重新排列專案具有更強大的支持。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/437130.html
上一篇:時間段內排名前10的主機/IP
