Python 如何通过搜索特定关键字在列表中打印列表?

Python 如何通过搜索特定关键字在列表中打印列表?,python,list,Python,List,我想写一个python函数,它将通过搜索特定关键字在列表中打印列表。这是我的功能,但不起作用 user_adresses = [["John","Walker","New York","10001"],["Larry","Smith","Denver","80123"]] def search(user_adresses): alpha = str(input("What are you searching for? ")) for item in user_adress

我想写一个python函数,它将通过搜索特定关键字在列表中打印列表。这是我的功能,但不起作用

user_adresses = [["John","Walker","New York","10001"],["Larry","Smith","Denver","80123"]]

def search(user_adresses):

    alpha = str(input("What are you searching for? "))


    for item in user_adresses:

        print(str(item[0:])[1:-1])
程序将询问我正在搜索什么,如果我键入“John”,它将只打印带有John->“John”、“Walker”、“New York”、“10001”的列表

但用这种方式,它会让我打印所有列表。应该向函数中添加哪些内容以仅打印包含特定关键字的列表


谢谢

您可以使用中的
检查列表中的成员身份。这将匹配用户地址中的所有完整单词

for user in user_adresses:
    if alpha in user:
        print(user)

使用
运算符中的
检查输入是否在给定项中

您可以非常简洁地表达这一点:

for match in (address in user_addresses if alpha in address):
    print(match)

这将打印每个匹配项,其中“匹配项”是
用户地址中的任何“地址”
,如果
alpha
一词出现在
地址中

这种代码和平应该起作用。 考虑使用字典代替列表。

def search(user_addresses):
    alpha = input("What are you searching for? ")
    for user_address in user_addresses:
        if alpha in user_address:
            print(user_address)
def search(user_addresses):
    alpha = input("What are you searching for? ")
    for user_address in user_addresses:
        if alpha in user_address:
            print(user_address)