我在列表中有以下字符串,并且能够使用列表作为字典中的键创建字典并指定默认值''。当我打印时,我看到字典是以相反的顺序为列表中的字符串创建的。为什么会发生这种情况以及如何纠正它。是否需要反向语法?
a = ['hello','bye','tc','iam']
created_dict = dict((bl,'') for bl in a)
print created_dict # {'iam': '', 'bye': '', 'hello': '', 'tc': ''}
需要更改以获得以下结果。
expected result : {'hello': '', 'bye': '', 'tc': '', 'iam': ''}
在列表
中使用数字时维护顺序答案 0 :(得分:2)
Python中的常规字典没有关键顺序的概念,您需要OrderedDict
from collections import OrderedDict
o = OrderedDict.fromkeys(['hello', 'bye', 'tc', 'iam'], '')
repr(o)
OrderedDict([('hello', ''), ('bye', ''), ('tc', ''), ('iam', '')])