我在列表中有以下字符串,并且能够使用该列表作为字典中的键并分配默认值“”来创建字典。当我打印时,我看到字典是按照列表中字符串的相反顺序创建的。为什么会发生这种情况以及如何纠正它。是否需要反向语法?
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': ''}
当列表中使用数字时,它保持顺序
Python 中的常规字典没有键顺序的概念,您需要一个有序字典
from collections import OrderedDict
o = OrderedDict.fromkeys(['hello', 'bye', 'tc', 'iam'], '')
repr(o)
OrderedDict([('hello', ''), ('bye', ''), ('tc', ''), ('iam', '')])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)