我必须按值对字典排序并返回一个字符串。
d = {'K': 1000, 'M': 1200, 'R': 600, 'T': 400}
s = sorted(d, key=d.get, reverse=True)
我得到:
['M', 'K', 'R', 'T']
如何在此表单中返回具有值的键?
1. M: 1200
2. K: 1000
3. R: 600
4. T: 400
最佳答案
你必须带着这些值。在这种情况下,根据值进行排序,只需:
d = {'K': 1000, 'M': 1200, 'R': 600, 'T': 400}
s = sorted(d.items(), key=lambda x : x[1], reverse=True)
print(s)
结果:
[('M', 1200), ('K', 1000), ('R', 600), ('T', 400)]
对于显示,从
enumerate
开始对排序的项使用1
,它在i,(k,v)
中展开(i
是索引,k
和v
是dict的键/值)for i,(k,v) in enumerate(sorted(d.items(), key=lambda x : x[1], reverse=True),1):
print("{}. {}: {}".format(i,k,v))
印刷品:
1. M: 1200
2. K: 1000
3. R: 600
4. T: 400
关于python - 排序字典并创建一个字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46864859/