我现在创建了一个这样的列表:
stopfile = os.path.join(baseDir, inputPath, STOPWORDS_PATH)
stopwords = set(sc.textFile(stopfile).collect())
print 'These are the stopwords: %s' % stopwords
def tokenize(string):
""" An implementation of input string tokenization that excludes stopwords
Args:
string (str): input string
Returns:
list: a list of tokens without stopwords
"""
res = list()
for word in simpleTokenize(string):
if word not in stopwords:
res.append(word)
return res
simpleTokenize只是字符串上的一个基本拆分函数,它返回字符串列表。
最佳答案
这很好。如果你想用一种更“Pythonic”的方式(一行代码而不是4行代码),你可以使用列表理解:
res = [word for word in simpleTokenize(string) if word not in stopwords]
关于python - 基于另一个列表中的值从列表中筛选出值的最有效方法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31017190/