您可以按所需的方式对键进行排序,方法是将其拆分为“。”。然后将每个组件转换为整数,如下所示:
sorted(mydict.keys(), key=lambda a:map(int,a.split('.')))
返回以下内容:
['0',
'1',
'2.0',
'2.1',
'3',
'4.0.0',
'4.0.1',
'5',
'10',
'11.0',
'11.1',
'12.0',
'12.1.0',
'12.1.1']
您可以遍历该键列表,并根据需要将值从字典中拉出。
您还可以非常相似地对mydict.items()的结果进行排序:
sorted(mydict.items(), key=lambda a:map(int,a[0].split('.')))
这为您提供了(键,值)对的排序列表,如下所示:
[('0', 10),
('1', 23),
('2.0', 321),
('2.1', 3231),
('3', 3),
# ...
('12.1.1', 2)]