繁体   English   中英

搜索子字符串是否在列表中,以及查找列表中每个出现的索引

[英]Search if a sub-string is in a list, as well as finding the index of every occurrence in list

尝试制作一个简单的搜索引擎,以按参数(搜索)中列出的术语搜索参数(列表1)中给定的列表。 我已将列表和搜索词更改为小写,并且已识别出匹配项。 但是我似乎无法获取每个实例的索引

def search_results(list1,search):
    list2lower = [element.lower() for element in list1]
    searchlower = search.lower()
    newlist = []

    for text in list2lower:
        if search.lower() in text:
            item = list2lower.index(search)
            newlist.append(list1[item])
    print(newlist)

您需要使用小写的search版本。 代替

item = list2lower.index(search)

采用:

item = list2lower.index(searchlower)

这是重写的代码:

def search_results(list1, search):
    list2lower = [element.lower() for element in list1]
    searchlower = search.lower()
    newlist = []

    for text in list2lower:
        if searchlower in text:
            item = list2lower.index(searchlower )
            newlist.append(list1[item])
    print(newlist)

弄清楚了。 我敢肯定,可以做很多比这更清洁的方法,但是它可以满足我的需要。 随时通过https://repl.it/@tyrantosaurusex/Project-4查看wtf的完整集群

def search_results(list1,search):
    list2lower = [element.lower() for element in list1]
    searchlower = search.lower()
    item = [i for i,s in enumerate(list2lower) if searchlower 
    in s]
    result = any(searchlower in word for word in list2lower)

    while len(search) > 0:
        while result is True:
            for sam in item:
                print(list1[sam])

            list2lower = [element.lower() for element in 
            list1]
            search = input('Enter search query (blank to 
            exit): ')
            searchlower = search.lower()
            item = [i for i, s in enumerate(list2lower) if 
            searchlower in s]
            result = any(searchlower in word for word in 
            list2lower)
            if len(search) == 0:
                break

list_of_items = ['Keanu', 'Stamos', 'Goldblum', 'Gosling']

search_results(list_of_items,'a')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM