dictionary에서 key의 일부분을 가지고 value를 찾아내려면ㅠㅠ

조회수 66회

이미지

캡처 이미지처럼 key에 '3학년'이라는 문자가 포함된다면 홍길동 과 홍길순의 전화번호를 출력하게 하고 싶습니다.ㅠㅠ 어떤 방법이 있을까요?! ㅠㅠㅠ 좋은하루되세요 감사합니다!!

2 답변

  • 좋아요

    2

    싫어요
    채택 취소하기

    안녕하세요

    dic = {'홍길동 3학년': '123 456', '123 456': '홍길동 3학년', '홍길순 3학년': '456 789', '456 789': '홍길순'}
    
    find_word = '3학년'
    
    for k in dic:                     # k = '홍길동 3학년'
        if k.split()[1] == find_word: # k.split() = ['홍길동', '3학년']
            print(dic[k])             # k.split()[1] = '3학년'
                                      # dic['3학년'] = '123 456'
    
    

    수고하세요

    • 좋은 답변 감사합니다. 혹시 k.split()[1]에서 [1]이 무엇을 의미 하는지 궁금합니다ㅠㅠ 이윤지 2019.5.9 17:37
    • 만약 names = ['Nate', 'John'] 이면 k[0]는 'Nate'고 k[1]는 'John' 입니다 velbi 2019.5.10 14:12
  • 문자열에서 in 연산자를 사용할 수 있습니다.

    In [1]: dic = {'홍길동 3학년': '123 456', '123 456': '홍길동 3학년', '홍길순 3학년':'456 789', '456 789': '홍길순'}
    
    In [2]: for v in (dic.get(key) for key in dic.keys() if '3학년' in key):  # 사전의 키값중에 3학년이 포함된 것만 값을 얻는다.
        ...:     print(v)
    
    123 456
    456 789
    
    
    • 이해하기 쉽게 잘 설명해주셔서 감사합니다!! 많은 도움이 되었습니다ㅎㅎ 이윤지 2019.5.9 17:39

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.