我的问题是,我想要一个函数,它有两个参数,一个是推文,另一个是一个#标签,当且仅当主题标签在推文中时才会返回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
我尝试首先拆分推文然后浏览每个字符,看看它是否以#标签开头
答案 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