字典与Python中的输入格式不同

时间:2016-02-17 04:45:51

标签: python list dictionary

我是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'}

您能告诉我为什么我无法按预期获得输出。我的代码中有任何错误?以及如何使输出达到预期的格式。提前致谢。任何帮助将非常感激。

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')])