返回数组字典中按值排序的键

2024-04-19 23:47:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我不是python方面的专家,因此这可能很容易解决和/或复制

我有这样一个数组字典:

mydict = {
  "Anna": [10, 25, 6],
  "Bob": [15, 21, 9],
  "Carl": [17, 28, 3]
     }

返回基于数组中某个值排序的键列表的最简单方法是什么? 假设我想根据数组的第二个值(25, 21, 28)对它们进行排序,以便得到一个按此顺序排列的列表["Bob", "Anna", "Carl"]

我的字典有成千上万的条目,可能有数百万条,所以效率是相当重要的


2条回答

列出易于排序的数据结构,如(25, 'Anna'),对其进行排序,然后去掉多余的值。作为一个班轮:

[i[1] for i in sorted((v[1], k) for k, v in mydict.items())]

您可以使用明显的按键功能:

sorted(mydict, key=lambda k: mydict[k][1])

相关问题 更多 >