python字典列表按值降序排序

时间:2017-04-21 07:43:25

标签: python list dictionary

我有以下词典列表:

[{'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]

如何在此步骤中固有地执行此操作?无需在单独的行中进行排序?如何通过施工步骤维持订单?

0 个答案:

没有答案