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

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

Python - 从字符串列表中的每个字符串中删除前 K 个字符

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

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

# Python3 code to demonstrate
# Remove front K elements in String List
# using list comprehension + list slicing
  
# initializing list
test_list = ['Manjeet', 'Akash', 'Akshat', 'Nikhil']
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing K 
K = 3
  
# using list comprehension + list slicing
# Remove front K elements in String List
res = [sub[K :] for sub in test_list]
  
# printing result
print("The list after removing initial K characters : " + str(res))
输出 :
The original list : ['Manjeet', 'Akash', 'Akshat', 'Nikhil']
The list after removing initial K characters : ['jeet', 'sh', 'hat', 'hil']

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

# Python3 code to demonstrate
# Remove front K elements in String List
# using map() + lambda
  
# initializing list
test_list = ['Manjeet', 'Akash', 'Akshat', 'Nikhil']
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing K 
K = 3
  
# using map() + lambda
# Remove front K elements in String List
res = list(map(lambda i: i[K :], test_list))
  
# printing result
print("The list after removing initial K characters : " + str(res))
输出 :
The original list : ['Manjeet', 'Akash', 'Akshat', 'Nikhil']
The list after removing initial K characters : ['jeet', 'sh', 'hat', 'hil']