删除“A-Z”。来自每个列表条目(如果它存在于 Python 中)

问题描述 投票:0回答:2

抱歉,这可能是一个简单的问题,但很难找到最好的方法。我有如下所示的列表,并且想要删除包含任何字母和 的所有部分。之后。

所以我想改变这个。

list = ['A. Person', 'B. House', 'H. Normal', 'My House', 'Hello World']

并将其转化为这样。

list = ['Person', 'House', 'Normal', 'My House', 'Hello World']

最简单的方法是什么?我最初想到了一个

startswith("")
,但由于所有开头字母都不同,所以不知道该放什么。也许正则表达式是最好的答案?

提前非常感谢!

python python-3.x regex list list-comprehension
2个回答
0
投票

假设只有一个句点,你可以用“.”分割并取最后一个元素。

l = ['A. Person', 'B. House', 'H. Normal', 'My House', 'Hello World']
l = [i.split(". ")[-1] for i in l]
print(l)
>>> ['Person', 'House', 'Normal', 'My House', 'Hello World']

0
投票

如果格式总是像

A. Person
那么你可以简单地像这样迭代列表

letters = ["A.", "B.", ...]

for entry in list:
  for letter in letters:
    if letter in entry:
      entry = entry.replace(letter, "")
© www.soinside.com 2019 - 2024. All rights reserved.