按照字典值的数值大小对字典进行排序

5

我有一个字典 d = {'a': '1', 'c': '10', 'b': '8', 'e': '11', 'g': '3', 'f': '2'}。我想按照d.values()的数值对字典进行排序。需要的答案是['a','f', 'g', 'b', 'c', 'e']。我查看了这里,但无法按照d.values()的整数值进行排序。

2个回答

12
>>> d = {'a': '1', 'c': '10', 'b': '8', 'e': '11', 'g': '3', 'f': '2'}
>>> sorted(d, key=lambda i: int(d[i]))
['a', 'f', 'g', 'b', 'c', 'e']

0

这是因为你的字典中的值是字符串类型:请注意数字周围的引号。尝试将字典设置为:

d = {'a':1, 'c':10, 'b':8, 'e':11, 'g':3, 'f':2}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接