![](/img/trans.png)
[英]Find all instances of a sub-string in a list of strings and return the index of the string where the sub-string is found
[英]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.