限制列表中的索引数

时间:2012-02-24 06:29:42

标签: python list

我对此很新,我希望这个问题有道理。 我有一个while循环,每次运行时附加一个列表。是否可以在列表中设置最大索引数,以便每次添加新索引时都会删除最旧的条目?

3 个答案:

答案 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]