字符串中的关键字搜索

时间:2014-08-14 12:05:26

标签: python string list

我正在制作一个简单的关键字识别程序,其中我有一个txt文件,每个单词都在新行中。我打开列表,然后检查句子中的每个关键字,稍后我将从数据库中打开。

到目前为止,我收到了这个错误:

TypeError: 'in <string>' requires string as left operand, not list

我得到它都需要是字符串字符串或列表列表。我试验并尝试将句子转换成列表 - 程序没有返回任何内容。

有关如何进行此项工作的任何建议,或建议如何更改内容以使其正确无误?

results = []
with open('words.txt') as inputfile:
    for line in inputfile:
        results.append(line.strip())


#print results

all_text = 'vistumšākā zaudēt zilumi nāve'

#all_texts = all_text.split()

for word in results:
    if results in all_texts:
        x += 1

print x

1 个答案:

答案 0 :(得分:4)

这里有一个简单的拼写错误。您尝试检查word文件中的每个words.txt,但是您在results语句中使用if。因此错误; Python说“我希望这个变量包含一个字符串,但它实际上是一个列表。”更改第二个for循环:

for word in results:
    if word in all_texts:
        x += 1

我已在以下完整程序中将您的变量重命名为更具描述性:

word_list = []
with open('words.txt') as inputfile:
    for line in inputfile:
        word_list.append(line.strip())

source_text = 'vistumšākā zaudēt zilumi nāve'
source_words = source_text.split()
count = 0    

for word in word_list:
    if word in source_words:
        count += 1

print count