这与post不同,因为相同的方法无效。
这是该帖子的代码。
from collections import OrderedDict
d = {'57481': 50, '57480': 89, '57483': 110, '57482': 18, '57485': 82, '57484': 40}
OrderedDict(sorted(d.items(), key=lambda t: t[0]))
项目按预期的数字顺序排列。
就我而言,这不起作用
d = {'0': 'index-0',
'1': 'index-1',
'13': 'index-13',
'2': 'index-2',
'20': 'index-20',
'21': 'index-21',
'22': 'index-22',
'23': 'index-23',
'3': 'index-3'}
OrderedDict(sorted(d.items(), key=lambda t: t[0]))
结果应该是:
{'0': 'index-0',
'1': 'index-1',
'2': 'index-2',
'3': 'index-3'
'13': 'index-13',
'20': 'index-20',
'21': 'index-21',
'22': 'index-22',
'23': 'index-23',}
我想念什么?
答案 0 :(得分:2)
您正在对字符串进行排序,并且字符串"13"
在"2"
之前(请考虑电话簿条目)。
尝试一下:
key=lambda t: int(t[0])