for..in ..以随机顺序打印字典

时间:2016-05-24 07:27:43

标签: python

我写了下面的代码,当这段代码执行时,输出就像

一个: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])  

1 个答案:

答案 0 :(得分:5)

常规词典没有订单。相反,请使用OrderedDict模块中的collections

import collections

key_value_pairs = [('zero', 0),
                   ('one', 0),
                   ('two', 0)]

dict = collections.OrderedDict(key_value_pairs)

然后你可以像上面那样做一切。