如何讓字典保持有序

2022-09-11 23:24:23 字數 1038 閱讀 3806

以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...