繁体   English   中英

如何搜索列表中的项目?

[英]How to search for items in a list?

我试图生成的代码是一个程序,它允许用户输入搜索词,然后打印出匹配的搜索。 上下文是列表中的列表。 子列表是句子和作者。

myList = [["Hello my name is Liam", "John Doe"], ["Hello my name is Jeff", "Jane Doe"]]

search = input("search: ")
for i in myList:
    for j in i:
        if search in j.lower():
            print('"{}"'.format(i[0]))
            print("--{}".format(i[1]))

搜索工作正常,但我想要做的是,当搜索运行时,它只搜索句子中的匹配项,而不是作者。 因此,如果我搜索"John"不会出现任何内容,因为那是在作者索引中,而不是在句子索引中。

我尝试使用

for j in i[0]:

但它没有用。

无需遍历每个子列表,只需检查索引0的列表:

search = input("search: ")
for i in myList:
    if search in i[0].lower():
        print('"{}"'.format(i[0]))
        print("--{}".format(i[1]))

试试看! enumerate() 在大多数列表/数组情况下都能产生奇迹。

myList = [["Hello my name is Liam", "John Doe"], ["Hello my name is Jeff", "Jane Doe"]]    
search = input("search: ")
for i in myList:
    for index, j in enumerate(i):
        if index > 0:
            continue
        if search.lower() in j.lower():
            print('"{}"'.format(i[0]))
            print("--{}".format(i[1]))

不要忘记小写您的搜索字符串,因此它不区分大小写。 在这种情况下考虑内部数组的元组。 我几乎找不到使用它们的理由 + 在我使用的大多数语言中都不可用,但是如果您需要您提供的结构,它很合适。

暂无
暂无

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

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