检查列表中每个元素的第二个单词长度是否为1,并使用Python从列表中删除该元素



我有一个包含三个元素的列表:
cleaned_str = ['Washington C, Bright G, Gleider A', 'Mine C', 'This is not fun'].
我想从列表中删除这些元素,列表中每个元素的第二个单词的长度为1。
。'Washington C, Bright G, Gleider A' - Washington后面的第二个单词'C'的长度是1,所以这个元素应该被删除。
所以,在处理之后,我将只得到这个列表中的一个项目= [' this is not fun']。
非常感谢您的帮助。

str_to_clean = "Washington C, Bright G, Gleider A.Mine C.This is not fun."
cleaned_str = []
for sentence in str_to_clean.split("."):
cleaned_str.append(sentence)
print("Output", ".".join(cleaned_str))

这给了我作为输出的列表。我正在试图弄清楚"re"如何帮助我识别列表中每个项目的第二个单词。如果我对它使用进一步的分割,那么我如何连接回来从该列表中删除整个项目?这就是我被卡住的地方。

将列表重命名为xlist,以避免使用保留字

xlist = ['Washington C', 'Bright G', 'Gleider A', 'Mine C', 'This is not fun']
for x in xlist:
if len(x.split()[1]) != 1:
print (x)

返回
This is not fun

您可以在'处分割字符串。'字符,删除最后一个元素,这是一个空字符串

['Strömberg C, Johansson G, Adolfsson A', 'Mine C', '这并不好玩',"]

之后,你只需要在列表上运行一个循环,而不是在你提到的条件中添加"其中列表中每个元素的第二个单词长度为1":

str_to_clean = "Strömberg C, Johansson G, Adolfsson A.Mine C.This is not fun."
str_to_clean = str_to_clean.split('.')[:-1]
cleaned_str = []
for sentence in str_to_clean:
sentence = sentence.split(' ')
if len(sentence[1].strip(',')) != 1:
sentence = ' '.join(sentence)
cleaned_str.append(sentence)
print(cleaned_str)
------------------------
['This is not fun']

假设你的列表是这样的:

list = ['Washington C', 'Bright G', 'Gleider A', 'Mine C', 'This is not fun']

您只需要在列表上运行with loop,拆分字符串并获取第二个对象的len,这就是全部(假设您现在不想研究re)。

要从列表中删除对象,请查看https://www.programiz.com/python-programming/methods/list/remove

相关内容

  • 没有找到相关文章

最新更新