如何比较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'。这样您应该很容易看出它们不匹配的原因。
希望对您有所帮助。
我有一个 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'。这样您应该很容易看出它们不匹配的原因。
希望对您有所帮助。