我是Python的新手,我目前正致力于解决问题,以提高我的编码技能。我有两个Lists k and v
,大小相同。当我尝试将这些值放入dictionary
并输出它们时,输入它们的格式与输出不同。
示例:
两个带值的列表 -
k = ['1', '16', '11', '20', '3', '26', '7', '22']
v = ['2', '3', '2', '3', '5', '4', '1', '4']
将上述两个列表添加到字典中 -
d = dict(zip(k, v))
print d
预期产出:
{'1': '2', '16': '3', '11': '2', '20': '3', '3': '5', '26': '4', '7': '1', 22': '4'}
输出我得到:
{'11': '2', '26': '4', '20': '3', '22': '4', '16': '3', '1': '2', '3': '5', '7': '1'}
您能告诉我为什么我无法按预期获得输出。我的代码中有任何错误?以及如何使输出达到预期的格式。提前致谢。任何帮助将非常感激。
答案 0 :(得分:2)
您需要使用collections
中的OrderedDict
,因为默认dict
不会保留订单:
from collections import OrderedDict
d = OrderedDict(zip(k, v))
print(d)
OrderedDict([('1', '2'), ('16', '3'), ('11', '2'), ('20', '3'), ('3', '5'), ('26', '4'), ('7', '1'), ('22', '4')])