📌  相关文章
📜  Python|删除列表的最后 K 个元素

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

Python|删除列表的最后 K 个元素

我们经常遇到需要通过截断列表的最后k个元素来减小列表大小的情况。当我们需要优化内存时,就会出现这个特殊问题。当有时我们需要获取所有相似大小的列表时,这在日常编程中有它的应用。让我们讨论可以执行此任务的某些方式。

方法 #1:使用len() + list slicing
列表切片可以执行这个特定的任务,我们只需将第一个len(list) – K个元素切片到列表中,从而删除最后的 K 个元素。

# Python code to demonstrate 
# remove last K elements
# using len() + list slicing
  
# initializing list  
test_list = [1, 4, 6, 3, 5, 8]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# initializing K 
K = 3
  
# using len() + list slicing
# remove last K elements
res = test_list[: len(test_list) - K]
  
# printing result 
print ("The list after removing last K elements : " +  str(res))
输出:
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]


方法#2:使用负列表切片
我们可以使用否定列表切片来执行此特定任务,在该切片中,我们开始从列表的最后一个索引中删除元素,从而从最后一个索引中删除所有K个元素。如果要求删除 0 个元素,我们将删除None

# Python code to demonstrate 
# remove last K elements
# using negative list slicing
  
# initializing list  
test_list = [1, 4, 6, 3, 5, 8]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# initializing K 
K = 3
  
# using negative list slicing
# remove last K elements
res = test_list[: -K or None]
  
# printing result 
print ("The list after removing last K elements : " +  str(res))
输出:
The original list is : [1, 4, 6, 3, 5, 8]
The list after removing last K elements : [1, 4, 6]