代码之家  ›  专栏  ›  技术社区  ›  Josh

如何根据python中另一个数组中的关键字在数组中查找字符串?

  •  1
  • Josh  · 技术社区  · 7 年前

    因此,我使用tweepy最初根据输入的用户名提取推文。然后我将这些推文存储在一个数组中。然后,我想根据关键字列表过滤推文。我为此尝试了一些方法,我最好的两次尝试都取得了效果,但不是我想要的类型。我想知道是否有人能给我指出正确的方向?这就是我目前所拥有的。。。

    1: -这一个的问题是,如果只包含关键字而不包含其他内容,它只接受字符串并打印。”“关键字”只是我用来过滤推文的单词列表。像这样的东西正是我所需要的,但是我似乎不知道如何让它包括推特和其他文本,但关键字?

    for status in tweepy.Cursor(api.user_timeline, screen_name='@'+username).items(50): # only iterate through first 50 statuses
        tweet_list.append(status._json['text']) 
    tweet_list2 = [k for k in tweet_list if k in keywords] #new array for tweets including keywords
    print tweet_list2
    

    2: -这里的问题是,我只能让它对指定的单数字符串起作用,例如,在本例中为“good”。但是,它接受并打印出关键字所包含的整个字符串(理想情况下是我想要的)。它不仅需要只包含指定字符串的字符串,还需要包含它的所有字符串。

    tweet_list2 = [k for k in tweet_list if 'good' in k]
    print tweet_list2
    

    我觉得我离这里很近,但还不能一针见血。非常感谢您的帮助!

    1 回复  |  直到 7 年前
        1
  •  1
  •   Connor John    7 年前

    试试这个:

    tweet_list2 = [k for k in tweet_list if any(word in k for word in keywords)]