我想编写一个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打印列表 - > “约翰”,“沃克”,“纽约”,“10001”
但是通过这种方式我会打印出所有列表。什么应该添加到函数中才能打印出包含特定关键字的列表?
谢谢
答案 0 :(得分:1)
您可以使用in
检查列表中的成员资格。这将匹配用户地址中的任何和所有完整单词。
for user in user_adresses:
if alpha in user:
print(user)
答案 1 :(得分:1)
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:
if alpha in item:
print(item)
使用in
运算符检查输入是否在给定项目中
答案 2 :(得分:0)
你可以非常简洁地表达这一点:
for match in (address in user_addresses if alpha in address):
print(match)
这将打印每场比赛,其中匹配'是任何地址'如果user_addresses
中出现alpha
这一术语,则address
。{/ 1>
答案 3 :(得分:0)
这种代码的和平应该有效。 考虑使用字典而不是列表。
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)