如何在列表中插入新号码?

时间:2018-11-08 17:24:45

标签: python list

如何在python的列表中添加新元素?例如,有一个列表

lst = [1, 2, 3, 4]

我想更新列表并插入10。 它会变成

lst = [10, 1, 2, 3]

这意味着最后一个元素消失了,而较旧的元素消失了。

3 个答案:

答案 0 :(得分:4)

您可以使用list methods insertpop

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)

双端队列(双端队列)就像一个队列,但是并没有针对附加到一端并从另一端删除而进行优化,而是针对从任一端进行附加和删除进行了优化。设置最大长度可确保如果将元素添加到完整双端队列的一端,则另一端的元素将被自动删除。