📜  Python|保留 K 前后元素

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

Python|保留 K 前后元素

有时,我们需要通过删除列表的某些元素来缩小列表。用于执行此特定任务的方法之一是前后元素保留和其余元素的删除。这是一个很好的实用程序,其解决方案可能很有用。让我们讨论可以执行此操作的某些方式。

方法 #1:使用列表切片 + del运算符
del运算符可以与切片操作结合使用,以从列表中删除除前后元素之外的所有元素,以获得列表的裁剪版本。

# Python3 code to demonstrate 
# Retain K Front and Rear elements
# using del operator + list slicing
  
# initializing list 
test_list = [2, 3, 5, 7, 9, 10, 8, 6]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# initializing K 
K = 2
  
# using del operator + list slicing
# Retain K Front and Rear elements 
N = len(test_list)
del test_list[K : N - K]
  
# printing result 
print ("The cropped list is : " + str(test_list))
输出 :
The original list is : [2, 3, 5, 7, 9, 10, 8, 6]
The cropped list is : [2, 3, 8, 6]

方法#2:使用列表切片
上述方法可以修改,并且可以省略 del运算符的使用来实现此特定任务。我们可以通过从列表中删除特定数量的元素的方式对列表进行切片。

# Python3 code to demonstrate 
# Retain K Front and Rear elements
# using list slicing
  
# initializing list 
test_list = [2, 3, 5, 7, 9, 10, 8, 6]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# initializing K 
K = 2
  
# using list slicing
# Retain K Front and Rear elements
res = test_list[: K] + test_list[-K :]
  
# printing result 
print ("The cropped list is : " + str(res))
输出 :
The original list is : [2, 3, 5, 7, 9, 10, 8, 6]
The cropped list is : [2, 3, 8, 6]