我对此很新,我希望这个问题有道理。 我有一个while循环,每次运行时附加一个列表。是否可以在列表中设置最大索引数,以便每次添加新索引时都会删除最旧的条目?
答案 0 :(得分:4)
没有。但是collections.deque
应该可以正常工作。
>>> d = collections.deque(maxlen=3)
>>> d.append(1)
>>> d.append(2)
>>> d.append(3)
>>> d.append(4)
>>> d
deque([2, 3, 4], maxlen=3)
答案 1 :(得分:3)
使用mod运算符。
for i in range(N):
L.insert(i%MAX_SIZE, object_to_be_added)
答案 2 :(得分:0)
如何使用pop(0)
d = range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
def additem(list,n,max=10):
if len(list) + 1 > max:
list.pop(0)
list.append(n)
additem(d,10)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
additem(d,11)
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]