Python|在所有元素中使用相同前缀拆分列表中的字符串
有时我们会遇到一个问题,我们有一个字符串列表,并且在其前缀或后缀或指定位置统一存在一些垃圾/不需要的字母,即这延伸到列表中的所有字符串。让我们讨论一些可以解决这个问题的方法。
方法#1:使用列表理解+列表切片
可以使用列表理解和列表切片来执行此任务。列表切片可用于删除不需要的字母,列表推导可用于将逻辑扩展到整个字符串。
# Python3 code to demonstrate
# Split strings in list
# Using list comprehension + list slicing
# initializing list
test_list = ['Rs.25', 'Rs.100', 'Rs.143', 'Rs.12', 'Rs.4010']
# printing original list
print("The original list : " + str(test_list))
# using list comprehension + list slicing
# Split strings in list
res = [sub[3:] for sub in test_list]
# print result
print("The list after string slicing : " + str(res))
输出 :
The original list : ['Rs.25', 'Rs.100', 'Rs.143', 'Rs.12', 'Rs.4010']
The list after string slicing : ['25', '100', '143', '12', '4010']
方法 #2:使用map()
+ 切片 + lambda
也可以使用地图函数执行此特定任务。对每个字符串执行相同操作的任务由 lambda 函数和 map 函数处理。
# Python3 code to demonstrate
# Split strings in list
# Using map() + slicing + lambda
# initializing list
test_list = ['Rs.25', 'Rs.100', 'Rs.143', 'Rs.12', 'Rs.4010']
# printing original list
print("The original list : " + str(test_list))
# using map() + slicing + lambda
# Split strings in list
res = list(map(lambda sub: sub[3:], test_list))
# print result
print("The list after string slicing : " + str(res))
输出 :
The original list : ['Rs.25', 'Rs.100', 'Rs.143', 'Rs.12', 'Rs.4010']
The list after string slicing : ['25', '100', '143', '12', '4010']