파이썬 딕셔너리 자료형에 대해 알아보고, 관련 연산과 메서드까지 살펴보겠습니다.
[ 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를 추가합니다.
'PL (Programming Language) > Python' 카테고리의 다른 글
[Python] 파이썬 for문의 iterable 속성을 통한 순회 (list, tuple, dictionary 등) (0) | 2022.04.18 |
---|---|
[Python] 파이썬 딕셔너리 value로 key 찾는 방법 (0) | 2022.04.13 |
[Python] 파이썬 집합(set) 연산 및 메서드 (0) | 2022.04.12 |
[Python] 튜플(Tuple)이란? 튜플 연산과 메서드 (0) | 2022.04.12 |
[Python] 리스트 연산 및 메서드 함수 (0) | 2022.04.11 |
댓글