【发布时间】:2010-12-17 22:31:07
【问题描述】:
我想知道删除字典中最旧元素以控制最大字典大小的最佳方法。
示例:
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)落后一项。
【问题讨论】:
-
oldest 是字典中最先添加的项目。 (看例子)
-
我对大部分回复投了赞成票,因为他们很好地回答了这个问题。我选择 JimB 响应是因为它是最适合我需要的答案。我会尽快发布我使用它的实现。
标签: python dictionary