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

如何在Python中比较多个列表中的字符串?,python,string,twitter,counter,canopy,Python,String,Twitter,Counter,Canopy,我有一个Twitter应用程序,可以搜索关于流行话题的tweet。 它生成一个.txt文件(称为“单词”),将所有tweet中的每个单词解析为列表中的字符串 目前,要将twitter列表中的每个单词与“积极”单词列表进行比较,我有: def p_count(l): #list of strings is object called upon total = 0 for w in l: #for each word in twitter 'words' list f

我有一个Twitter应用程序,可以搜索关于流行话题的tweet。 它生成一个.txt文件(称为“单词”),将所有tweet中的每个单词解析为列表中的字符串

目前,要将twitter列表中的每个单词与“积极”单词列表进行比较,我有:

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,但我知道在两个列表中都会出现“谦卑”和“坚强”这样的词。我用的是热情的天篷。有什么提示吗?

您的代码看起来不错

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

当您从文本文件中检索单词时,Python可以在末尾使用“\0”或“\n”保存这些单词。这可能是你的言语不平等的一个原因

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

最好打印“w”和“x”。通过这种方式,您应该很容易了解它们不匹配的原因


希望这对您有所帮助。

请给出一个说明
单词和
单词的内容的示例。您的方法虽然效率低下,但逻辑上看起来很好。也许你需要考虑单词的情况,以及API中单词的空格。此外,考虑从集合模块中使用DICT或计数器类,这将是非常有效的。您应该考虑将<代码> PyWord < /代码>作为函数的参数,并将其传递到函数中。