繁体   English   中英

从python中的列表中删除元素

[英]Removing elements from list in python

我有一个这样的形状的清单:

temp5=[]
for i in range(0,len(df)):
   temp5.append(df['text'][i].split())
df['each']=temp5
df['each']

结果是这样的:

在此处输入图片说明

现在,我想删除上一个列表中的某些元素。 我想检查上一个列表中的每个单词是否类似于以下列表,将其从中删除。 第二个列表是这样的:

stopwords = open('stop_words.txt','r').read().split('\n')
print(stopwords)

在此处输入图片说明

现在,我编写了这段代码,以从第一个列表中删除每个列表的相同单词。 但是我收到的只是一无所有。 你能帮我吗?

for k in range(0,len(df)):
    for j in df['each'][k][:]:
        for f in stopwords:
            if f==j:
                temp6.append(df['each'][k][:].remove(f))
                print(temp6)

如注释中所述, remove方法将就地删除,但是如果您想要更多的“ pythonic”,则工作代码将是

temp5=[]
for i in range(0,len(df)):
    temp5.append([x for x in df['text'][i].split() if x not in stopwords])

使用如本问题所述的列表理解 ,它创建了过滤列表。 或者,如果您坚持使用原始数据框作为输入,那将是

temp5=[]
for i in range(0,len(df)):
    temp5.append([x for x in df['each'][i] if x not in stopwords])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM