📜  Python|在列表开头执行追加

📅  最后修改于: 2022-05-13 01:55:04.840000             🧑  作者: Mango

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]