본문 바로가기
PL (Programming Language)/Python

[Python] 파이썬 딕셔너리(Dictionary) 연산 및 메서드

by jangThang 2022. 4. 12.
반응형

파이썬 딕셔너리 자료형에 대해 알아보고, 관련 연산과 메서드까지 살펴보겠습니다.

 

[ Contents ]

     

     

    1. 딕셔너리(Dictionary)란?

    딕셔너리 명 = {key1: value1, key2: value2, ...}

     딕셔너리는 파이썬에서 기본으로 제공해주는 '해시 맵(Hash map)' 자료형입니다. key-value의 쌍으로 저장되며, key는 책갈피 역할을 합니다. 즉, key를 통해서 value를 찾는 구조입니다.

     마치 사전에서 단어(key)를 찾으면, 그 단어에 대한 설명(value)을 볼 수 있는 것과 비슷합니다.

     

     

    딕셔너리 명[key]

     딕셔너리는 인덱스 대신에 'key'를 통해서 'value'에 접근합니다. 

     

     

     만약 key가 없다면, 에러가 발생합니다.

     

     

     집합과 마찬가지로, key는 중복해서 저장할 수 없습니다. 만약 동일한 key가 입력되면, 새로 갱신됩니다.

     

     

     key값은 상수나 문자열이 아닌 자료형도 가능합니다. 하지만, 값이 변경되면 오류가 발생합니다.

     따라서, key값은 반드시 불변(immutable)하는 값으로 설정하는 것이 좋습니다.

     

     

     value값도 상수나 문자열이 아닌 변수로 저장할 수 있습니다. 하지만, 해당 변수가 이후에 변경되어도 dictionary에는 이전 변수값이 들어있습니다. 즉 깊은 복사로 값만 저장되니, 유의하셔야 합니다.

     

     

     

    2. 딕셔너리 연산 및 메서드

     딕셔너리는 key와 value와 관련된 기능이 많습니다.

     

    keys()

     딕셔너리 내 key 값을 반환합니다.

     

     

     

    values()

     딕셔너리 내 value 값을 반환합니다.

     

     

     

    items()

     딕셔너리의 key와 value를 모두 반환합니다. 

     

     

     이때, 반환받는 자료형은 리스트나 튜플이 아닙니다. 따라서, 인덱스 접근이나 슬라이싱은 불가능합니다.

     

     

     주로, for문과 같은 이터레이터를 이용해서 데이터를 읽고 처리합니다.

     

     

     

    get()

    dict.get(key): dict 내에 key 값에 해당하는 value를 반환합니다.

     get()은 dict[key]와 동일한 기능을 합니다.

     

     차이점은 해당하는 key값이 없더라도 오류가 나지 않습니다.

     

     

    del

    del dict[x]: dict 내의 x 값을 가진 key와 그 value를 제거합니다.

     

     

     

    pop()

    dict.pop(key): dict 내의 key 값에 해당하는 value를 반환하고 삭제합니다.

     

     

     리스트처럼 pop()만 할 경우에는 맨 끝 항목이 제거되지 않으며, 이러한 기능은 popitem() 함수에서 제공합니다.

     

     

     

    dict.fromkeys()

    dict.fromkeys([key1, key2, ...], default): key 리스트에 default값을 value로 짝지어서 딕셔너리를 생성합니다.

     

     

     

    setdefault()

    dict.setdefault(key, value): dict에 (key, value) 쌍을 추가합니다. 

     

     단, 이미 key가 있는 경우에는 추가되지 않습니다. setdefault는 말 그대로 key에 대한 기본값을 설정해주는 함수입니다.

     

     

     

    update()

    dict1.update(dict2): dict1에 dict2를 추가합니다. 

     

     

     

    star가 되고나서 Tistory

    반응형

    댓글