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

Python 返回数组字典中按值排序的键,python,python-3.x,list,sorting,dictionary,Python,Python 3.x,List,Sorting,Dictionary,我不是python方面的专家,因此这可能很容易解决和/或复制 我有这样一个数组字典: mydict = { "Anna": [10, 25, 6], "Bob": [15, 21, 9], "Carl": [17, 28, 3] } 返回基于数组中某个值排序的键列表的最简单方法是什么? 假设我想根据数组25、21、28的第二个值对它们进行排序,以便得到按此顺序排列的列表[Bob、Anna、Carl] 我的字典有数

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

我有这样一个数组字典:

mydict = {
  "Anna": [10, 25, 6],
  "Bob": [15, 21, 9],
  "Carl": [17, 28, 3]
     }
返回基于数组中某个值排序的键列表的最简单方法是什么? 假设我想根据数组25、21、28的第二个值对它们进行排序,以便得到按此顺序排列的列表[Bob、Anna、Carl]


我的字典有数万个条目,可能有数百万个条目,因此效率非常重要。

列出一个易于排序的数据结构列表,如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])
你查过了吗?