Python/Syntax 2021. 8. 22. 14:50

사전(Dictionary)

  • key와 value의 쌍으로 구성된다.

  • 중괄호로 묶는다.

    {
      키1:값1,
      키2:값2,
      ...
    }
  • 키를 통해 값을 반환받을 수 있다.

    dic = { 'boy': '소년', 'school': '학교', 'book':'책' }
    print(dic['boy'])
    print(dic['book'])
    
    ''' stdout
    소년
    책
    '''
  • 존재하지 않는 키를 입력하면 예외가 발생한다.

    dic = { 'boy': '소년', 'school': '학교', 'book':'책'}
    print(dic.get('boy'))
    print(dic.get('girl'))
    print(dic.get('girl', '사전에 없는 단어입니다.'))
    
    ''' stdout
    소년
    None
    사전에 없는 단어입니다.
    '''

메서드

메서드 설명
사전[키] 키의 값을 반환, 없으면 예외 발생
.get(키) 키에 대한 값을 반환하고, 존재하지 않는 키에 대해서는 None이나 두 번째 인자 반환
.keys() 키 목록 리턴
.values() 값 목록 리턴
.items() (키, 값) 튜플 목록 리턴
del 사전[키] 기존 엔트리 삭제
list(사전) 사전의 키들만 리스트로 변환하여 리턴
.update(사전2) 사전2를 원본에 추가한다. 중복된 키는 업데이트한다.
  • 예시

    dic = { 'boy': '소년', 'school': '학교', 'book':'책'}
    dic['boy'] = '남자아이' # 기존값 수정
    dic['girl'] = '소녀' # 새로운 엔트리 추가
    del dic['book'] # 기존 엔트리 삭제
    print(dic)
    
    ''' stdout
    {'boy': '남자아이', 'school': '학교', 'girl': '소녀'}
    '''
  • keys, values, items 메서드를 통해 반환받은 값은 따로 형변환을 해야 적당히 사용할 수 있다.

    dic = { 'boy': '소년', 'school': '학교', 'book':'책'}
    print(dic.keys())
    print(dic.values())
    print(dic.items())
    
    ''' stdout
    dict_keys(['boy', 'school', 'book'])
    dict_values(['소년', '학교', '책'])
    dict_items([('boy', '소년'), ('school', '학교'), ('book', '책')])
    '''
  • 다른 콜렉션을 사전으로 형변환할 수 있다.

    li = [
        ['boy', '소년'],
        ['school', '학교'],
        ['teacher', '선생님']
    ]
    dic = dict(li)
    print(dic)
    
    ''' stdout
    {'boy': '소년', 'school': '학교', 'teacher': '선생님'}
    '''

'Python > Syntax' 카테고리의 다른 글

파이썬 컬렉션 관리  (0) 2021.08.24
파이썬 집합(Set)  (0) 2021.08.22
파이썬 튜플(Tuple)  (0) 2021.08.22
파이썬 리스트(List)  (0) 2021.08.22
파이썬 함수  (0) 2021.08.22