查找字符串中的一组关键字


def check_links(hrefs_list):
check_str = ['NEWS',
'MEDIA',
'news',
'media',
'News',
'Media',
'press',
'releases',
'Press',
'Releases',
'PRESS',
'RELEASES']
relevant_links=list()
for i in range(len(hrefs_list)):
if hrefs_list[i].find(check_str)!= -1:
relevant_links.append(hrefs_list[i])
else:
continue
return relevant_links

check_links(hrefs_list)接受一个href值的列表。我想去每个href值并检查它是否包含check_str列表中存在的任何关键字。如果它存在,我希望将它存储到一个新的列表中,否则不存储。但是当我运行这个函数时,它给出了一个错误:如果hrefs_list[I].find(check_str)!= 1:TypeError:必须是str,而不是list

如何解决这个问题?

你应该这样做:

def check_links(hrefs_list):
check_str = ['NEWS',
'MEDIA',
'news',
'media',
'News',
'Media',
'press',
'releases',
'Press',
'Releases',
'PRESS',
'RELEASES']
relevant_links=list()
for i in range(len(hrefs_list)):
if hrefs_list[i] in check_str:
relevant_links.append(hrefs_list[i])
else:
continue
return relevant_links

的例子:

hrefs_list = ['NEWS',
'MEDIA',
'news',
'others']
check_links(hrefs_list)
输出:

['NEWS', 'MEDIA', 'news']

最新更新