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']