Python|在列表开头执行追加
Python list 的通常append
操作将新元素添加到列表的末尾。但在某些情况下,我们需要将我们添加的每个元素附加到列表前面。如果我们执行蛮力技术,我们需要执行不必要的元素转换,因此,使用简写是有用的。
让我们讨论在列表开头执行附加的某些方法。
方法 #1:使用insert()
此方法通常将元素插入列表中的任何位置,并执行内部所需的必要移位,因此也可用于执行此任务。
# Python3 code to demonstrate
# to add element at beginning
# using insert()
# initializing list
test_list = [1, 3, 4, 5, 7]
# printing initial list
print ("Original list : " + str(test_list))
# using insert() to append
# at beginning. append 6
test_list.insert(0, 6)
# printing resultant list
print ("Resultant list is : " + str(test_list))
输出:
Original list : [1, 3, 4, 5, 7]
Resultant list is : [6, 1, 3, 4, 5, 7]
方法#2:使用 [] 和 +
这两个运算符可以结合起来执行此任务。我们将元素转换为列表,然后执行列表添加。
# Python3 code to demonstrate
# to add element at beginning
# using [] and +
# initializing list
test_list = [1, 3, 4, 5, 7]
# printing initial list
print ("Original list : " + str(test_list))
# using [] and + to append
# at beginning append 6
test_list = [6] + test_list
# printing resultant list
print ("Resultant list is : " + str(test_list))
输出:
Original list : [1, 3, 4, 5, 7]
Resultant list is : [6, 1, 3, 4, 5, 7]
方法#3:使用切片
列表切片也是执行此特定任务的另一种方法。我们只是将 0 切片列表分配给从元素转换的列表。这可以解决问题并且非常优雅。
# Python3 code to demonstrate
# to add element at beginning
# using slicing
# initializing list
test_list = [1, 3, 4, 5, 7]
# printing initial list
print ("Original list : " + str(test_list))
# using slicing to append
# at beginning. append 6
test_list[:0] = [6]
# printing resultant list
print ("Resultant list is : " + str(test_list))
输出:
Original list : [1, 3, 4, 5, 7]
Resultant list is : [6, 1, 3, 4, 5, 7]
方法 #4:使用collections.deque.appendleft()
该列表可以转换为双端队列,然后可以使用appendleft()
从双端队列的前面执行类似推送的操作。
# Python3 code to demonstrate
# to add element at beginning
# using collections.deque.pushleft()
from collections import deque
# initializing list
test_list = [1, 3, 4, 5, 7]
# printing initial list
print ("Original list : " + str(test_list))
# using collections.deque.pushleft()
# to append at beginning
# append 6
test_list = deque(test_list)
test_list.appendleft(6)
test_list = list(test_list)
# printing resultant list
print ("Resultant list is : " + str(test_list))
输出:
Original list : [1, 3, 4, 5, 7]
Resultant list is : [6, 1, 3, 4, 5, 7]