我现在创建了一个这样的列表:

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/

10-11 06:19