📌  相关文章
📜  Python - 从字符串列表中删除后 K 个字符

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

Python - 从字符串列表中删除后 K 个字符

有时,我们遇到一个问题,我们需要从每个字符串中删除最后一个字符,这可能是我们错误添加的,我们需要将其扩展到整个列表。这种类型的实用程序在 Web 开发中很常见。有速记来执行这项特定的工作总是一个加号。让我们讨论一些可以实现这一目标的方法。

方法#1:使用列表理解+列表切片
可以通过使用列表切片删除字符的能力来执行此任务,并且列表理解有助于将该逻辑扩展到整个列表。

# Python3 code to demonstrate
# Remove Rear K characters from String List
# using list comprehension + list slicing
  
# initializing list
test_list = ['Manjeets', 'Akashs', 'Akshats', 'Nikhils']
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing K 
K = 4
  
# using list comprehension + list slicing
# Remove Rear K characters from String List
res = [sub[ : len(sub) - K] for sub in test_list]
  
# printing result
print("The list after removing last characters : " + str(res))
输出 :
The original list : ['Manjeets', 'Akashs', 'Akshats', 'Nikhils']
The list after removing last characters : ['Manj', 'Ak', 'Aks', 'Nik']

方法 #2:使用map() + lambda
map函数可以执行为列表的所有成员执行功能的任务,而 lambda函数执行使用列表推导删除最后一个元素的任务。

# Python3 code to demonstrate
# Remove Rear K characters from String List
# using map() + lambda
  
# initializing list
test_list = ['Manjeets', 'Akashs', 'Akshats', 'Nikhils']
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing K 
K = 4
  
# using map() + lambda
# Remove Rear K characters from String List
res = list(map(lambda i: i[ : (len(i) - K)], test_list))
  
# printing result
print("The list after removing last characters : " + str(res))
输出 :
The original list : ['Manjeets', 'Akashs', 'Akshats', 'Nikhils']
The list after removing last characters : ['Manj', 'Ak', 'Aks', 'Nik']