list.append()附加到列表末尾。 这说明list.prepend()由于大型列表的性能问题,不存在。对于短列表,我如何在前面添加一个值?
在 Python 中,虽然没有内置的 list.prepend() 方法,但你可以使用 insert() 方法在列表的开头插入一个值,或者使用切片操作来实现同样的效果。
list.prepend()
insert()
你可以使用 insert() 方法在指定索引位置插入元素,索引为 0 表示插入到列表的开头:
0
my_list = [1, 2, 3] my_list.insert(0, 0) # 在索引 0 处插入 0 print(my_list) # 输出: [0, 1, 2, 3]
另一种方法是使用切片,将新值与现有列表合并:
my_list = [1, 2, 3] my_list = [0] + my_list # 将 0 作为新列表的第一个元素 print(my_list) # 输出: [0, 1, 2, 3]
collections.deque
如果你经常需要在列表的开头添加元素,考虑使用 collections 模块中的 deque(双端队列)。deque 的 appendleft() 方法在开头插入元素时性能更高。
collections
deque
appendleft()
from collections import deque my_deque = deque([1, 2, 3]) my_deque.appendleft(0) # 在开头插入 0 print(my_deque) # 输出: deque([0, 1, 2, 3])
insert(0, value)