Python 如何按值倒序排序字典
我想按照字典中的值进行反向排序。
举个例子:如果有一个字典是 [红色: 2, 蓝色: 45, 绿色: 100],我想把它打印成 绿色 100, 蓝色 45, 红色 2。
谢谢!
3 个回答
2
在编程中,有时候我们会遇到一些问题,尤其是在使用特定的工具或库时。比如,有人可能在使用某个库的时候,发现它的某些功能没有按照预期工作。这种情况下,通常需要检查代码,看看是不是哪里出了问题。
有时候,问题可能出在我们对工具的理解上,或者是我们没有按照正确的步骤去使用它。为了帮助解决这些问题,很多程序员会在网上提问,比如在StackOverflow上,寻求其他人的建议和解决方案。
在提问时,提供清晰的代码示例和详细的描述是非常重要的,这样其他人才能更好地理解你的问题,并给出有效的帮助。
总之,遇到问题时,不要着急,仔细检查代码,理解工具的使用方法,并寻求社区的帮助,通常都能找到解决方案。
>>> from collections import OrderedDict
>>> a = {"Red": 2, "Blue": 45, "Green": 100}
>>> OrderedDict(sorted(a.items(), key=lambda x: x[1], reverse=True))
OrderedDict([('Green', 100), ('Blue', 45), ('Red', 2)])
2
你使用了Python标签,但你提供的字典并不是一个有效的Python字典。正确的结构应该是这样的:
{"Red": 2, "Blue": 45, "Green": 100}
所以,如果你想打印出来,这里有另一种方法:
mydic = {"Red": 2, "Blue": 45, "Green": 100}
for w in sorted(mydic, key=mydic.get, reverse=True):
print w, mydic[w]
3
使用 sorted 函数。
d = dict(red=2, blue=45, green=100)
sorted(d.items(), key=lambda a: a[1], reverse=True)