某程式設計競賽系統,對於參賽選手解題情況進行計時。選手完成題目後,就將該選手解題用時記錄到字典中,
以便賽後按選手名次查詢成績
比賽結束後,需要按照排名次序依次列印選手成績,如何實現。
d = {}
d['jim'] = (1,35)
d['leo'] = (2,37)
d['bob'] = (3,40)
for k in d:print k
由結果可以發現預設資料結構dict,沒有順序
使用collections.ordereddict以ordereddict代替內建字典dict,依次將選手成績存入ordereddict
from collections import ordereddict
d2 = ordereddict()
d2['jim'] = (1,35)
d2['leo'] = (2,37)
d2['bob'] = (3,40)
for k in d2:print k
from time import time
from random import randint
from collections import ordereddict
d = ordereddict()
palyers = list('abcdefg')
start = time()
# print start
for i in xrange(7):
# 延時
raw_input()
# 每次隨機選取一名選手答題完畢
p = palyers.pop(randint(0, 6 - i))
end = time()
print i + 1,p, end - start
d[p] =(i+1,end-start)
#比賽結束列印成績
# 列印換行
print
# 列印分隔符
print '-'*20
for k in d:
print k,d[k]
如何讓字典保持有序
實際案例 某程式設計競賽系統,對參賽選手程式設計解題進行計時,選手完成題目後,把該選手解題用時記錄到字典中,以便賽後按選手名查詢成績。答題用時越短,成績越優。如 比賽結束後,需按排名順序依次列印選手成績,如何實現?眾所周知,python內建的dict型別是無序的,那我們要如何解決該問題呢?這時,我們...
如何讓字典保持有序
以ordereddict替代內建字典dict,依次將選手成績存入ordereddict from collections import ordereddict od ordereddict od c 1 od b 2 od a 3 list iter od 執行結果 c b a from colle...
慕課網 如何讓字典保持有序
某程式設計競賽系統個,對次參賽選擇手變成解題進行倒計時 選手完成題目後,把該選手解題用時記錄到字典中,以便後按選手名查詢成績 答題用時越短 成績越優秀 比賽結束後 需按排名順序依次列印選手成績,如何實現 from collections import ordereddict from time im...