# -*- coding:utf-8 -*-from collections import OrderedDict
from time import time
from random import randint
# 问题如下:
d = {}
d['Jim'] = (1, 35)
d['Leo'] = (2, 37)
d['Bob'] = (3, 40)
for k in d: print k
# 结果:# Bob# Jim# Leo# 以上输出表示程序并不维护字典元素的先后进入顺序# 解决方案:
d = OrderedDict()
d['Jim'] = (1, 35)
d['Leo'] = (2, 37)
d['Bob'] = (3, 40)
for k in d: print k
# Jim# Leo# Bob# 具体例子:
o_d = OrderedDict()
players = list('ABCDEFGH')
start = time()
for i in xrange(8):
raw_input()
p = players.pop(randint(0, 7-i))
end = time()
print i + 1, p, end - start,
o_d[p] = (i + 1, end - start)
print# 因为上面的print语句后面有 , 号,如果不加这句下面将会在上面输出结果后面直接紧接着输出print'*' * 20# 这种形式很有意思for k in o_d: # k 为 d 中的 keyprint k, o_d[k]