我如何预先一个整数到一个列表的开始?
[1, 2, 3] ⟶ [42, 1, 2, 3]
我如何预先一个整数到一个列表的开始?
[1, 2, 3] ⟶ [42, 1, 2, 3]
当前回答
选择:
>>> from collections import deque
>>> my_list = deque()
>>> my_list.append(1) # append right
>>> my_list.append(2) # append right
>>> my_list.append(3) # append right
>>> my_list.appendleft(100) # append left
>>> my_list
deque([100, 1, 2, 3])
>>> my_list[0]
100
【注意】:
collections.deque在循环中比Python纯列表更快。
其他回答
另一种方法是,
list[0:0] = [a]
>>> x = 42
>>> xs = [1, 2, 3]
>>> xs.insert(0, x)
>>> xs
[42, 1, 2, 3]
工作原理:
列表。插入(指数、价值)
在给定位置插入一项。第一个参数是要插入的元素的下标,也就是xs。Insert (0, x)插入到列表的前面,并且xs. Insert (len(xs), x)等价于xs.append(x)。负值被视为相对于列表的末尾。
选择:
>>> from collections import deque
>>> my_list = deque()
>>> my_list.append(1) # append right
>>> my_list.append(2) # append right
>>> my_list.append(3) # append right
>>> my_list.appendleft(100) # append left
>>> my_list
deque([100, 1, 2, 3])
>>> my_list[0]
100
【注意】:
collections.deque在循环中比Python纯列表更快。
你可以使用Unpack列表:
a = 5 li = [1,2,3] li = [a, *li] => [5, 1, 2, 3]
>>> x = 42
>>> xs = [1, 2, 3]
>>> [x] + xs
[42, 1, 2, 3]
注意:不要使用list作为变量名。