gpt4 book ai didi

python-3.x - 如何从python中的列表中删除单词

转载 作者:行者123 更新时间:2023-12-01 07:00:23 25 4
gpt4 key购买 nike

我到目前为止已经完成了我的代码,但是与remove()一起无法正常工作。任何人都可以帮助我..

'''
Created on Apr 21, 2015

@author: Pallavi
'''
from pip._vendor.distlib.compat import raw_input
print ("Enter Query")
str=raw_input()

fo = open("stopwords.txt", "r+")
str1 = fo.read();
list=str1.split("\n");
fo.close()
words=str.split(" ");
for i in range(0,len(words)):
for j in range(0,len(list)):
if(list[j]==words[i]):
print(words[i])
words.remove(words(i))

这是错误:
Enter Query
let them cry try diesd
let them try
Traceback (most recent call last):
File "C:\Users\Pallavi\workspace\py\src\parser.py", line 17, in <module>
if(list[j]==words[i]):
IndexError: list index out of range

最佳答案

您遇到的错误(除了我的其他评论)是因为您在迭代列表时正在修改列表。但是,您从一开始就使用列表的长度,因此,在删除了一些元素之后,您将无法访问最后的位置。

我会这样:

words = ['a', 'b', 'a', 'c', 'd']
stopwords = ['a', 'c']
for word in list(words): # iterating on a copy since removing will mess things up
if word in stopwords:
words.remove(word)

使用 list comprehensions的更加Python化的方式:
new_words = [word for word in words if word not in stopwords]

关于python-3.x - 如何从python中的列表中删除单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29771168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com