我写了下面的代码,当这段代码执行时,输出就像
一个:33.75%
零:32.98%
二:33.27%
我的问题是,为什么不按顺序排列,我该怎么做?
import random
a=0
dict = {"zero":0,"one":0,"two":0}
while a < 10000:
a +=1
b = random.randrange(0,3)
if b == 0:
dict["zero"] += 1
elif b == 1:
dict["one"] += 1
elif b == 2:
dict["two"] += 1
for item in dict:
dict[item] /= 100
dict[item] = str(dict[item])+"%"
print(item + ":" + dict[item])
答案 0 :(得分:5)
常规词典没有订单。相反,请使用OrderedDict
模块中的collections
。
import collections
key_value_pairs = [('zero', 0),
('one', 0),
('two', 0)]
dict = collections.OrderedDict(key_value_pairs)
然后你可以像上面那样做一切。