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 列表中存在的任何关键字。如果是这样,我想将它存储到一个新列表中,否则不会。 但是当我运行这个函数时,它给出了一个错误:if hrefs_list[i].find(check_str)!= -1: 类型错误:必须是 str,而不是列表
我该如何解决这个问题?
答案 0 :(得分:0)
你应该使用这个:
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']