试图制作一个简单的搜索引擎,以按参数(搜索)中列出的术语搜索参数(列表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)
答案 0 :(得分:0)
您需要使用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)
答案 1 :(得分:0)
弄清楚了。我敢肯定,可以做很多比这更清洁的方法,但是它可以满足我的需要。随时查看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')