我想知道刪除字典中的最早的元素以便控制最大字典大小的最佳方法。從Python字典中刪除最老的元素
例如:
MAXSIZE = 4
dict = {}
def add(key,value):
if len(dict) == MAXSIZE:
old = get_oldest_key() # returns the key to the oldest item
del dict[old]
dict[key] = value
add('a','1') # {'a': '1'}
add('b','2') # {'a': '1', 'b': '2'}
add('c','3') # {'a': '1', 'c': '3', 'b': '2'}
add('d','4') # {'a': '1', 'c': '3', 'b': '2', 'd': '4'}
add('e','5') # {'c': '3', 'b': '2', 'e': '5', 'd': '4'}
對您清楚了嗎? 在此先感謝。
編輯忘了len(dict)
落後
定義「最早」 – jldupont 2009-11-18 15:59:01
最早是詞典中第一次添加的項目。 (看例子) – 2009-11-18 16:13:16
我投了大多數答覆,因爲他們很好地回答了這個問題。我選擇JimB的迴應,因爲它是最適合我需求的答案。我會盡力發佈我很快用到的實現。 – 2009-11-18 18:58:36