ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python: 딕셔너리(Dictionary) 사전 기능!
    Python 2020. 6. 29. 22:50

    딕셔너리(dictionary)는 파이썬에서 가장 많이 쓰이는 기능 중 하나입니다. key 값과 value 값이 한 쌍을 이룹니다. 

    딕셔너리 말그대로 사전을 예로 들면 영어 사전에는

    영어단어: 한국어

    이런 형태로 되어 있는데 여기서 영어단어가 key, 한국어를 value라고 생각하시면 됩니다.

     

     

     

    <딕셔너리(dictionary) 단어장 만들고 단어 추가하기>

     

    # dictionary 단어장 만들기
    
    vocab = {
        'sanitizer': '살균제',
        'ambition': '야망',
        'conscience': '양심',
        'civilization': '문명'
    }
    
    print(vocab)
    
    
    
    # 새로운 단어 추가하기
    
    vocab['privilege'] = '특권'
    vocab['principle'] = '원칙'
    
    print(vocab)
    

     

    {'sanitizer': '살균제', 'ambition': '야망', 'conscience': '양심', 'civilization': '문명'}
    {'sanitizer': '살균제', 'ambition': '야망', 'conscience': '양심', 'civilization': '문명', 'privilege': '특권', 'principle': '원칙'}
    

     

     

    <딕셔너리의 value값과 key값 참조하기>

     

    family = {
        '아빠': '철수',
        '엄마': '영희',
        '아들': '바둑이'
    }
    # 딕셔너리를 만들어줍니다. 
    
    
    
    print(family.values())
    # value 값들만 출력
    
    
    print(family.keys())
    # key 값들만 출력
    
    
    for key in family.keys(): 
        print(key, family[key])
     # .keys를 사용하면 key값을 참조하여 key값과 value 값을 얻을 수 있습니다.
    
    
    for key, value in family.items():
        print(key, value)
    # .items를 사용하면 key값과 value값을 다이렉트로 구할 수도 있습니다. 
    

     

    dict_values(['철수', '영희', '바둑이'])
    dict_keys(['아빠', '엄마', '아들'])
    아빠 철수
    엄마 영희
    아들 바둑이
    아빠 철수
    엄마 영희
    아들 바둑이

     

     

    <예제>

    기존의 영-한 단어장을 한-영 단어장으로 바꾸는 예제입니다!

     

    # 영-한 단어장을 한-영으로 바꾸어 주는 함수
    def reverse_dict(dict):
        new_dict = {} 
    
        for key, value in dict.items():
            new_dict[value] = key
    
        return new_dict  # 변환한 새로운 사전 리턴
    
    
    
    vocab = {  # 영-한 단어장
        'sanitizer': '살균제',
        'ambition': '야망',
        'conscience': '양심',
        'civilization': '문명',
        'privilege': '특권',
        'principles': '원칙'
    }
    
    
    # 기존 단어장 출력
    print("영-한 단어장\n{}\n".format(vocab))
    
    
    # 변환된 단어장 출력
    reversed_vocab = reverse_dict(vocab)
    print("한-영 단어장\n{}".format(reversed_vocab))

     

    영-한 단어장
    {'sanitizer': '살균제', 'ambition': '야망', 'conscience': '양심', 'civilization': '문명', 'privilege': '특권', 'principles': '원칙'}
    
    한-영 단어장
    {'살균제': 'sanitizer', '야망': 'ambition', '양심': 'conscience', '문명': 'civilization', '특권': 'privilege', '원칙': 'principles'}

     

    반응형

    댓글

Designed by Tistory.