使用OrderedDict出现乱序的情况(自己想通了)
来源:2-6 如何让字典保持有序
Brook_StudyMachine
2017-01-20
多次使用循环将数据传入字典,就会出现乱序和少漏字典项的问题
同一段代码
from random import randint,sample
from collections import OrderedDict
d1={}
d2=OrderedDict()
for x in xrange(5):
d1[str(sample('abcdefgh',1))]=x
d2[str(sample('abcdefgh',1))]=x
print d1
print d2正常情况,应该是这样的,如图1

图1
--------------------------------------------------------------------------------------------------
但是,有时候,会乱序或漏字典项,见图2

图2
--------------------------------------------------------------------------------------------------

多次运行,还会出更多错误。
写回答
1回答
-
Brook_StudyMachine
提问者
2017-01-22
哈哈,自己想通了,由于d2[str(sample('abcdefgh',1))]=x,随机数字会和之前重复,将之前字典中相同key的项覆盖掉,造成乱序的假象。
00
相似问题