我有一个包含三个元素的列表: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