
在Python 内置的字典中默认是的字典是无序的,那么怎么能够按照顺序打印呢?
1 2 3 4 5 6 7 8 9 10 |
In [1]: d = {} In [2]: d['jim'] = (1,33) In [4]: d['dd'] = (2,63) In [5]: d Out[5]: {'dd': (2, 63), 'jim': (1, 33)} In [6]: |
当然我们可以使用模块了
Python内置的模块 collections.odereddict
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
In [7]: dd = OrderedDict() In [8]: dd['jim'] = (1,33) In [9]: dd['ji'] = (2,36) In [10]: dd['jii'] = (3,38) In [15]: dd Out[15]: OrderedDict([('jim', (1, 33)), ('ji', (2, 36)), ('jii', (3, 38))]) In [16]: isinstance(dd,dict) # 字典的属性依然可以使用 Out[16]: True In [17]: for i in dd:print(i) jim ji jii # 按照属性依然可以打印出来 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
from time import time from random import randint from collections import OrderedDict d = OrderedDict() players = list('ABCDEFGH') # 参赛人员名称 # 考试开始时间 start = time() #获取当前时间安 for i in range(8): # 等待输入 input() p = players.pop(randint(0,7 - i)) end = time() # 排名,人名,考试时间 print(i + 1,p,end - start), d[p] = (i+1,end - start) print('-' * 20) for k in d: print(k,d[k]) |
