我的搜索词只打印列表中的最后一个词,而不是找到的词[Python 2.7.6]

我的搜索词只打印列表中的最后一个词,而不是找到的词[Python 2.7.6],python,list,Python,List,我正在使用praw(reddit)api在帖子中的评论中搜索一组单词,并返回该单词。基本上,我的词表很好。。。仅此而已,一个单词列表: right = [ 'i', 'he', 'she', 'it', 'we', 'have', 'has'] 这是我导入的words.py的内部。我通过迭代将其保存到变量中: for word in words.right: za = word print za 当我打印za时,它会打印出每个单词,就像我想要的那样。它打印: i he she

我正在使用praw(reddit)api在帖子中的评论中搜索一组单词,并返回该单词。基本上,我的词表很好。。。仅此而已,一个单词列表:

right = [ 'i', 'he', 'she', 'it', 'we', 'have', 'has']

这是我导入的words.py的内部。我通过迭代将其保存到变量中:

for word in words.right:
    za = word
    print za
当我打印za时,它会打印出每个单词,就像我想要的那样。它打印:

i
he
she
it
we
have
has
我的程序返回包含以下搜索词之一的注释,如下所示:

for comment in flat_comment_generator:

    try:
        if za in comment.body.lower() and comment.id not in already_done:


            fob.write(comment.id + "\n")
            print comment.body
            print za
但是当我使用printza时,它只打印za中的最后一个术语,而不是它在程序中找到的。例如,它可能返回:

"Comment found = Yeah, I really like basketball" "Search term = has"

因此,在我要求它返回该特定术语之前,一切都正常。

我无法从您的代码中看出,搜索注释中的所有单词,因为za将只包含单词列表的最后一个值。每次循环时,您都可以在打印时看到所有单词,但如果执行以下操作,则无法获得所有单词:

for word in words.right:
    za = word
print za
我猜你想做的是:

for comment in flat_comment_generator:

    try:
        if comment.id not in already_done:
           terms = []
           # Search all the terms
           for word in words.right:
               if word in comment.body.lower():
                   terms.append(word)

           # If any term is in the comment
           if len(terms) != 0:
               fob.write(comment.id + "\n")
               print comment.body
               print terms

我希望它能有所帮助,否则就问吧。

“我通过迭代将其保存到变量中”。。。你能详细说明一下吗?遍历某个对象如何将其保存到变量中?根据您在那里显示的内容,在循环之后,
za
将具有
单词中最后一项的值。对
。我将在注释之后对其进行编辑以明确说明,但是(请注意,我是python新手)不应该“for-in-words.right”遍历其中的每个单词?当我第一次使用“print za”时,它会单独打印每个单词。是的,单独打印。因此,循环完成后,
za
具有最后打印的内容的值。我仍然不确定我是否真的理解了这里的问题…@mgilson:也许,OP(错误地)认为
za=word
的工作原理类似于
za.append(word)
好吧,我会尽量说清楚,我解释得不好。我在这里看到了我的错误,这是一个愚蠢的错误:我试图查找Word中列出的任何术语。对,出于某种原因,我认为将其存储在变量za中,然后搜索za的注释是可行的。我需要做的是在words.right中搜索术语的注释,并让它返回找到的术语。我觉得我把事情复杂化了,但我被难住了。谢谢!我处理这个问题的逻辑是一团糟。这正是我想要的。
len(术语)!=0可替换为斑点良好的搅拌机。我对python还是相当陌生的,不到一个月,所以我仍然倾向于有点冗长。谢谢你的建议