5

我有一个 dict d = {'a': '1', 'c': '10', 'b': '8', 'e': '11', 'g': '3', 'f': '2'}。我想用数值对字典进行排序d.values()。必需的答案是['a','f', 'g', 'b', 'c', 'e']。我在这里检查过。我无法根据 d.values() 的整数值对其进行排序。

4

2 回答 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']
于 2013-03-06T09:58:49.490 回答
0

那是因为字典中的值是 type string:注意数字周围的引号。尝试将您的字典设置为:

d = {'a':1, 'c':10, 'b':8, 'e':11, 'g':3, 'f':2}
于 2013-03-06T10:00:37.500 回答