使用列表理解删除 Python 列表中的停用词
Remove Stop Words in Python List Using List Comprehension
Python菜鸟很抱歉提出一个简单的问题,但我找不到适合我的情况的确切解决方案。
我有一个 python 列表,我想从列表中删除停用词。如果它与另一个标记配对,我的代码不会删除停用词。
from nltk.corpus import stopwords
rawData = ['for', 'the', 'game', 'the movie']
text = [each_string.lower() for each_string in rawData]
newText = [word for word in text if word not in stopwords.words('english')]
print(newText)
当前输出:
['game', 'the movie']
期望的输出
['game', 'movie']
我更愿意为此使用列表理解。
我花了一段时间才做这个,因为列表理解不是我的事。不管怎样,我就是这样做的:
import functools
stopwords = ["for", "the"]
rawData = ['for', 'the', 'game', 'the movie']
lst = functools.reduce(lambda x,y: x+y, [i.split() for i in rawData])
newText = [word for word in lst if word not in stopwords]
print(newText)
基本上,第 4 行拆分列表值以生成嵌套列表并将嵌套列表变为一维。
Python菜鸟很抱歉提出一个简单的问题,但我找不到适合我的情况的确切解决方案。
我有一个 python 列表,我想从列表中删除停用词。如果它与另一个标记配对,我的代码不会删除停用词。
from nltk.corpus import stopwords
rawData = ['for', 'the', 'game', 'the movie']
text = [each_string.lower() for each_string in rawData]
newText = [word for word in text if word not in stopwords.words('english')]
print(newText)
当前输出: ['game', 'the movie']
期望的输出 ['game', 'movie']
我更愿意为此使用列表理解。
我花了一段时间才做这个,因为列表理解不是我的事。不管怎样,我就是这样做的:
import functools
stopwords = ["for", "the"]
rawData = ['for', 'the', 'game', 'the movie']
lst = functools.reduce(lambda x,y: x+y, [i.split() for i in rawData])
newText = [word for word in lst if word not in stopwords]
print(newText)
基本上,第 4 行拆分列表值以生成嵌套列表并将嵌套列表变为一维。