2016-12-13 1 views
1

특정 키워드를 검색하여 목록에 목록을 인쇄하는 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]) 

나는 '요한은 "그것은 단지 존으로 목록을 인쇄해야 입력하면이 프로그램은, 내가이 찾고있는 무슨 부탁합니다 ->"존 ","워커 ","뉴욕 ","10001 "

그러나 이렇게하면 모든 목록이 인쇄됩니다. 함수에 특정 키워드가있는 목록 만 인쇄하려면 무엇을 추가해야합니까?

답변

1

당신은 in를 사용하여 목록에서 회원 가입을 확인할 수 있습니다 감사합니다. 이것은 사용자 주소에있는 모든 전체 단어와 일치합니다.

for user in user_adresses: 
    if alpha in user: 
     print(user) 
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 연산자는 입력이 주어진 항목에있는 경우

0

당신은 매우 간결이 표현할 수 확인 :

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

이 모든 경기, 어디를 인쇄 할 것 ' '일치'는 alpha이라는 용어가 address에있는 경우 user_addresses의 모든 '주소'입니다.

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) 
관련 문제