浏览一个字符串,看看它是否包含第二个参数

时间:2016-10-23 09:14:09

标签: python loops split boolean

我的问题是,我想要一个函数,它有两个参数,一个是推文,另一个是一个#标签,当且仅当主题标签在推文中时才会返回True,否则返回false。

示例:

contains_hashtags('I like bats #batman', 'batman')会产生True

contains_hashtags('I like bats #batman', 'bat')导致False,因为它与#batman不同。

到目前为止我已经

def contains_hashtags(tweet, hashtag):
tweet.split(" ")
for char in tweet:
    if tweet.startswith(hashtag):
        return True
    else:
        return False

我尝试首先拆分推文然后浏览每个字符,看看它是否以#标签开头

1 个答案:

答案 0 :(得分:2)

split返回一个字符串数组。字符串不可变,意味着您需要重新分配proccessed值(数组),它不会自动更新并替换变量。

检查分割数组中的每个单词,如果它以#开头,是否包含hashtag

此外,请注意return False仅在未找到主题标签的情况下才会出现,因此在所有案例经过测试并证明错误后,您可以将其设置为

def contains_hashtags(tweet, hashtag):
    tweet = tweet.split() # ' ' by default
    for word in tweet:
        if word.startswith('#') and hashtag in word:
            return True
    return False