Python命令dict(zip())更改
我有两个列表,我正在映射到字典中Python命令dict(zip())更改,python,python-2.7,Python,Python 2.7,我有两个列表,我正在映射到字典中 {'a': 1, 'b': 2, 'c': 3, 'd': 4} == {'a': 1, 'c': 3, 'b': 2, 'd': 4} 这两份名单是— a=['a','b','c','d']和b=[1,2,3,4] 当我运行命令时 >>> d = dict(zip(a,b)) >>> d 我明白了 {'a': 1, 'c': 3, 'b': 2, 'd': 4} 而预期值是{'a':1,'b':2,'c':3,'d':
{'a': 1, 'b': 2, 'c': 3, 'd': 4} == {'a': 1, 'c': 3, 'b': 2, 'd': 4}
这两份名单是—
a=['a','b','c','d']
和b=[1,2,3,4]
当我运行命令时
>>> d = dict(zip(a,b))
>>> d
我明白了
{'a': 1, 'c': 3, 'b': 2, 'd': 4}
而预期值是{'a':1,'b':2,'c':3,'d':4}
为什么按键顺序会发生这种变化?dict的按键没有固有的“明显”顺序。诚然,只需要为CPython详细说明,还要注意
如果项()、键()、值()、iteritems()、iterkeys()和
调用itervalues()时不会对
字典中,列表将直接对应
这意味着,如果不这样做,他们可能会改变
(请注意,有一个顺序,但它涉及到键的散列,因此它不像“b之前的a”那么简单,特别是,几年前,它可能会随着可执行文件的每次新调用而改变。)dict的键中没有固有的“明显”顺序。诚然,只需要为CPython详细说明,还要注意
如果项()、键()、值()、iteritems()、iterkeys()和
调用itervalues()时不会对
字典中,列表将直接对应
这意味着,如果不这样做,他们可能会改变
(请注意,有一个顺序,但它涉及到键的散列,因此它不像“b之前的a”那么简单,特别是几年前,它可能会随着可执行文件的每次新调用而改变。)字典中没有顺序
{'a': 1, 'b': 2, 'c': 3, 'd': 4} == {'a': 1, 'c': 3, 'b': 2, 'd': 4}
字典里没有顺序
{'a': 1, 'b': 2, 'c': 3, 'd': 4} == {'a': 1, 'c': 3, 'b': 2, 'd': 4}
因为字典是无序的数据结构。如果顺序很重要,请使用集合.OrderedDict()。因为字典是无序的数据结构。如果订单很重要,请使用集合.OrderedDict()。