我必須列出不同的單詞列表,一個列表(停用詞)包含應該從另一個列表(kafka)中排除的單詞列表。如何從列表中刪除特定單詞?
我想:
kafka.discard (stop) # this only works with sets and I do not want to transform my list into a set
有另一種方式從其他列表中排除在停止的話?
我使用Python 3.4.0
我必須列出不同的單詞列表,一個列表(停用詞)包含應該從另一個列表(kafka)中排除的單詞列表。如何從列表中刪除特定單詞?
我想:
kafka.discard (stop) # this only works with sets and I do not want to transform my list into a set
有另一種方式從其他列表中排除在停止的話?
我使用Python 3.4.0
既然你說你不想和集合一起工作(爲什麼?),你可以使用列表理解:
kafka[:] = [x for x in kafka if x not in stop]
編輯:注意slice[:]
,這種方法更像在你的收藏者的身份被保留.discard()
行爲。
的一種方式,從kafka
刪除您stopwords
列表中的每一個字是:
for word in stopwords:
while word in kafka:
kafka.remove(word)
你可以試試這個:
stopwords_set = set(stopwords)
kafka = [word for word in kafka if word not in stopwords_set]
我相信這隻會刪除kafka中的一個單詞而不是所有的單詞。 –
你說得對,這不包含重複。這很容易通過將'if'更改爲'while'來解決,所以我不確定這是否值得降級。這個解決方案所做的,其他人不允許的就是允許就地變異,這聽起來就像是OP尋找的東西。 – jdotjdot
好吧,我取消了我的downvote ~~ –