如何比较Python中多个列表中的字符串?

How to compare strings in multiple lists in Python?

我有一个 Twitter 应用程序,可以梳理有关热门话题的推文。 它生成一个 .txt 文件(称为 'words'),将所有推文中的每个单词解析为列表中的字符串。

目前,要将 Twitter 列表中的每个词与 "positive" 个词的列表进行比较,我有:

def p_count(l): #list of strings is object called upon
    total = 0
    for w in l: #for each word in twitter 'words' list
        for x in p_words: #for each word in "positive" words list
            if w == x: #compare twitter word to x positive word
                total += 1
    return total
print p_count(words)

我得到的结果是 0,但是我知道两个列表中都出现了 'humble' 和 'strong' 之类的词。我正在使用 Enthought Canopy。有什么建议吗?

您的代码看起来不错。

问题可能与您的文本文件有关。

当您从文本文件中检索单词时,Python 可以保存结尾带有“\0”或“\n”的单词。这可能是您的字数不相等的原因。

另一个原因可能与大写字母、标点符号、空格有关...

您最好的选择是打印 'w' 和 'x'。这样您应该很容易看出它们不匹配的原因。

希望对您有所帮助。