以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 collections import ordereddict
od = ordereddict()
# 製造資料
players = list('abcdefgh')
from random import shuffle
shuffle(players) #洗牌函式,將列表打亂
for i, p in enumerate(players, 1):
od[p] = i
def query_by_name(d, name):
return d[name]
query_by_name(od, 'e') #查詢e的名次
from itertools import islice #為可迭代物件製作切片
def query_by_order(d, a, b = none):
a -= 1
if b is none:
b = a + 1
return list(islice(od, a, b))
print(od)
query_by_order(od, 4, 6)
執行結果:
ordereddict([('f', 1), ('h', 2), ('a', 3), ('e', 4), ('d', 5), ('c', 6), ('b', 7), ('g', 8)])
['e', 'd', 'c']
如何讓字典保持有序
實際案例 某程式設計競賽系統,對參賽選手程式設計解題進行計時,選手完成題目後,把該選手解題用時記錄到字典中,以便賽後按選手名查詢成績。答題用時越短,成績越優。如 比賽結束後,需按排名順序依次列印選手成績,如何實現?眾所周知,python內建的dict型別是無序的,那我們要如何解決該問題呢?這時,我們...
2 6 讓字典保持有序
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 p...
慕課網 如何讓字典保持有序
某程式設計競賽系統個,對次參賽選擇手變成解題進行倒計時 選手完成題目後,把該選手解題用時記錄到字典中,以便後按選手名查詢成績 答題用時越短 成績越優秀 比賽結束後 需按排名順序依次列印選手成績,如何實現 from collections import ordereddict from time im...