TypeError:不可用类型:python nltk中的'list'

时间:2018-05-01 15:19:02

标签: python python-3.x nltk

我有这段代码:

from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from nltk.stem import PorterStemmer
import re

fo = open('cran.all.1400', 'r+')
contents = fo.read()
docs = re.split(r'\.I[\s][\d]*')

stop_words = set(stopwords.words('english'))

tokens = []
for each in docs:
    tokens.append(word_tokenize(eac))

s_words = [w for w in tokens if not w in stop_words]
print(s_words)

当我尝试运行它时,我收到此错误:

error

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您的变量 API PATH: https://api.com/apim/myapi/{some value} Values: '\Project\ProjectInfo\' 似乎是一个列表,您试图查看后者是否属于eachset运算符需要in可以清除,以便在集合中搜索它。

答案 1 :(得分:0)

不确定它是否相关,但我认为你的意思是[w for w in tokens if w not in stop_words]

tokens.append(word_tokenize(each))< - 这可能会给你一个二维数组。所以each是一个列表。也许你期望这是一维列表,在这种情况下你可以使用tokens.concat(word_tokenize(each))