我有一個(gè) python 字典,其中包含字符串鍵和整數(shù)值。我想按值排序,如果兩個(gè)值相同,則按鍵對字典進(jìn)行排序。字典的一個(gè)例子。是:{'Spain':3,'Morocco':1,'England':3,'canada':2}排序后應(yīng)該是:{'England':3,'Spain':3,'canada':2,'Morocco':1}
1 回答

狐的傳說
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以嘗試下面的方法,該方法按字典項(xiàng)目對字典進(jìn)行排序。
-item[1]按值降序排序,item[0]按鍵升序排序。因?yàn)榕判虻慕Y(jié)果是元組列表,所以我們需要使用dict()構(gòu)造函數(shù)調(diào)用將其轉(zhuǎn)換為字典。
d = {'Spain': 3, 'Morocco': 1, 'England': 3, 'canada': 2}
out = dict(sorted(d.items(), key=lambda item: (-item[1], item[0])))
print(out)
輸出:
{'England': 3, 'Spain': 3, 'canada': 2, 'Morocco': 1}
添加回答
舉報(bào)
0/150
提交
取消