我有以下词典列表:
[{'160': 1.598,
'1620': 1.305,
'26': 4.554,
'2952': 1.2380,
'2985': 1.56,
'3075': 1.04,
'3222': 0.9721,
'3388': 1.68,
'3443': 0.600,
'361': 2.6682,
'4': 5.22,
'601': 2.26,
'9': 5.032},
{'1457': 5.625,
'1469': 25.455,
'1470': 25.455,
'605': 5.74627},
{},
{'1258': 1.085,
'2571': 0.982,
'2943': 2.25,
'2951': 0.62,
'2953': 1.84,
'2958': 0.73,
'2959': 0.93,
'2978': 0.67,
'341': 1.039}]
我想按降序排列每个字典,如果两个值相同,则优先级为较小的键。 如上所述,字典可能是空的。
这是我的尝试,仅适用于第一个:
import operator
sorted(mylist[0].items(), key=operator.itemgetter(1),reverse=True)
我构建了这样的词典列表:
[{k:v for k,v in d.items() if v == max_vals[k]} for d in mylist
]
如何在此步骤中固有地执行此操作?无需在单独的行中进行排序?如何通过施工步骤维持订单?