我有这样一本字典:
A = {'Name1':34, 'Name2': 12, 'Name6': 46,....}
我想要的清单按值排序的按键,即[Name2, Name1, Name6....]
谢谢!
我有这样一本字典:
A = {'Name1':34, 'Name2': 12, 'Name6': 46,....}
我想要的清单按值排序的按键,即[Name2, Name1, Name6....]
谢谢!
我会使用:
items = dict.items()
items.sort(key=lambda item: (item[1], item[0]))
sorted_keys = [ item[0] for item in items ]
的key
参数排序是一个可调用它返回要使用的排序键。在这种情况下,我返回一个(value, key)
的元组,但是如果您愿意,您可以返回值(即key=lambda item: item[1]
)。
另一种解决方案更简单,更易于阅读。 –
sorted(a.keys(), key=a.get)
此排序键,并且每个键,使用a.get
找到它的排序值使用的值。
请注意,没有必要使用'a.keys',它会生成一个键列表。 'a'(或'a.iterkeys()')已经可以在字典a的键上迭代了。 –
是的,我知道这是没有必要的,但我认为它会更好。我认为字典是成对的容器,而不是容器的钥匙。 –
使用sorted
的key
论证的意见@Felix
sorted(d, key=d.get)
谢谢,但我搜索之前,我问和答案是不是我所需要的。 – Alejandro
我不同意,有很多类似的问题与你正在寻找的答案。例如。在我所关联的问题中,第二高的投票答案提供了与此处或者最高投票答案相同的解决方案[这些答案](http://stackoverflow.com/questions/3417760/how-to-sort-a-python-dict-by-value)。你可能不得不尝试一些东西,但问题已经在这里了。 –
“答案不是我所需要的”。无用的陈述。现有答案中缺少什么? **他们如何**不完整或误导? **什么**使您的问题独特?请成为**具体**。 –