【发布时间】:2020-07-17 20:14:54
【问题描述】:
我有一本这样的字典:
{'GBR': [0, 0, 1],
'TPE': [0, 1, 1],
'KOR': [3, 1, 0],
'CHN': [3, 1, 2],
'AUS': [0, 0, 1],
'UKR': [0, 0, 1],
'JPN': [0, 1, 0],
'ITA': [1, 0, 0]}
此字典中的值是 3 个值的数组。我想在所有三个值中对它进行排序,其中索引 0 具有第一优先级,索引 1 具有第二优先级,索引 2 具有最终优先级
这是我所期望的:
[('CHN', [3, 1, 2]),
('KOR', [3, 1, 0]),
('ITA', [1, 0, 0]),
('TPE', [0, 1, 1]),
('JPN', [0, 1, 0]),
('UKR', [0, 0, 1]),
('GBR', [0, 0, 1]),
('AUS', [0, 0, 1])]
如何使用sort 函数来做到这一点?我尝试过使用lambda,但我无法弄清楚。
【问题讨论】:
-
这能回答你的问题吗? Python: sorting a dictionary of lists
-
list 不是数组。无论如何,您所描述的正是列表的排序方式,即按字典顺序。所以只需按值排序...