Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据字典的值(3个值的数组)对字典进行排序?_Python_Sorting - Fatal编程技术网

Python 如何根据字典的值(3个值的数组)对字典进行排序?

Python 如何根据字典的值(3个值的数组)对字典进行排序?,python,sorting,Python,Sorting,我有一本这样的字典: {'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',

我有一本这样的字典:

{'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])]
如何使用
排序功能执行此操作?我尝试过使用
lambda
,但我想不出来。

试试这个:

d={
“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]}
已排序(d.items(),key=lambda x:x[1],reverse=True)
结果:

[('CHN', [3, 1, 2]), ('KOR', [3, 1, 0]), ('ITA', [1, 0, 0]), ('TPE', [0, 1, 1]), ('JPN', [0, 1, 0]), ('GBR', [0, 0, 1]), ('AUS', [0, 0, 1]), ('UKR', [0, 0, 1])]

这回答了你的问题吗?列表不是数组。无论如何,您所描述的正是列表是如何排序的,即按字典顺序排列的。所以只要按值排序。。。