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

时间:2021-01-26 08:52:29

标签: python string

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,而不是列表

我该如何解决这个问题?

1 个答案:

答案 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']
相关问题