Python - 删除列表的第一个元素
队列数据结构是众所周知的数据结构, Python中的列表通常将元素附加到列表的末尾。为了实现队列数据结构,必须能够从列表中删除前面的元素。
让我们讨论删除列表第一个元素的方法。
方法 #1:使用pop(0)
此方法弹出,即从列表中删除并打印第 i 个元素。此方法主要用于执行此任务的其他可用选项。这会更改原始列表。
# Python3 code to demonstrate
# removing front element
# using pop(0)
# initializing list
test_list = [1, 4, 3, 6, 7]
# Printing original list
print ("Original list is : " + str(test_list))
# using pop(0) to
# perform removal
test_list.pop(0)
# Printing modified list
print ("Modified list is : " + str(test_list))
输出 :
Original list is : [1, 4, 3, 6, 7]
Modified list is : [4, 3, 6, 7]
方法 #2:使用del list[0]
这只是执行前面删除的替代方法,该方法还执行删除列表元素并将列表大小减少1。
# Python3 code to demonstrate
# removing front element
# using del list[0]
# initializing list
test_list = [1, 4, 3, 6, 7]
# Printing original list
print ("Original list is : " + str(test_list))
# using del list[0] to
# perform removal
del test_list[0]
# Printing modified list
print ("Modified list is : " + str(test_list))
输出 :
Original list is : [1, 4, 3, 6, 7]
Modified list is : [4, 3, 6, 7]
方法#3:使用切片
切片是解决此问题的另一种方法,我们可以从第二个元素到最后一个元素对列表进行切片并分配给空列表。这不会像上述两种方法那样进行就地转换。
# Python3 code to demonstrate
# removing front element
# using slicing
# initializing list
test_list = [1, 4, 3, 6, 7]
# Printing original list
print ("Original list is : " + str(test_list))
# using slicing to
# perform removal
res = test_list[1:]
# Printing modified list
print ("Modified list is : " + str(res))
输出 :
Original list is : [1, 4, 3, 6, 7]
Modified list is : [4, 3, 6, 7]
方法 #4:使用deque() + popleft()
这是实现此特定任务的鲜为人知的方法,将列表转换为双端队列,然后执行 popleft,从列表的前面删除元素。
# Python3 code to demonstrate
# removing front element
# using deque() + popleft()
from collections import deque
# initializing list
test_list = [1, 4, 3, 6, 7]
# Printing original list
print ("Original list is : " + str(test_list))
# using deque() + popleft() to
# perform removal
res = deque(test_list)
res.popleft()
# Printing modified list
print ("Modified list is : " + str(list(res)))
输出 :
Original list is : [1, 4, 3, 6, 7]
Modified list is : [4, 3, 6, 7]