如何在python的列表中添加新元素?例如,有一个列表
lst = [1, 2, 3, 4]
我想更新列表并插入10。 它会变成
lst = [10, 1, 2, 3]
这意味着最后一个元素消失了,而较旧的元素消失了。
答案 0 :(得分:4)
您可以使用list
methods insert
和pop
:
lst.insert(0, 10) # lst is now [10, 1, 2, 3, 4]
lst.pop() # lst is now [10, 1, 2, 3]
注意:由于Python列表是数组列表,因此在Python列表的开头插入项目不是很有效。相反,您可以使用collections
模块中的deque
(链接列表)。这也将允许您为双端队列提供最大大小,以便始终将结束元素突出:
from collections import deque
lst2 = deque(lst, maxlen=4)
lst2.appendleft(10) # lst2 is now [10, 1, 2, 3]
答案 1 :(得分:1)
您可以使用:
lst = [1, 2, 3, 4]
new_lst = [10] + lst[:-1]
# [10, 1, 2, 3]
这将在第一个位置添加新元素,这里是10
,并获取不包括最后一个元素的列表。
答案 2 :(得分:0)
您可能要使用有界的deque
而不是列表。
>>> from collections import deque
>>> d = deque([1,2,3,4], 4)
>>> d
deque([1, 2, 3, 4], maxlen=4)
>>> d.appendleft(10)
>>> d
deque([10, 1, 2, 3], maxlen=4)
双端队列(双端队列)就像一个队列,但是并没有针对附加到一端并从另一端删除而进行优化,而是针对从任一端进行附加和删除进行了优化。设置最大长度可确保如果将元素添加到完整双端队列的一端,则另一端的元素将被自动删除。