dictionary (dict)
Python에서 dictionary
는
- key-value pair를 item으로 가지는
- unordered
- mutable
- collection임.
set
과 함께 curly bracket (or brace)를 사용하는데, empty dictionary가 바로 {}
로 표현됨
(dictionary가 set
보다 많이 이용되는 점이 반영된 듯...)
dictionary는 key와 value가 하나의 item에 가지고 있고, 해당 key를 통한 indexing이 가능함.
- key는
set
과 같이 unique 해야 한다. - key들은
set
과 같이 unordered 임.
immutable object만이 key가 될 수 있음.
mutable object는 hashable이지 않음.
seqeunce 계열의 list
와 달리, dictionary
는 key를 통한 search 속도가 set
과 마찬가지로 매우 빠르다.
Python 3.5에서는
items()
메서드를for
문 등에서 사용할 때
각 실행 때마다 실제로 order가 바뀌었음 (=unordered).
하지만 3.6 이후로는 고정된 순서로 반환됨.
주의할 건 해당 순서가 보장되는 게 아니라는 점이므로
순서가 필요하면sorted
함수를 통한 처리가 필요하다.
add and remove
dictionary는 기본적으로 square bracket과 key를 통해 item에 접근할 수 있다.
dic[new_key]= value
와 같이, 새로운 키를 이용한 assignment를 통해 새로운 key-value pair가 추가됨.dic[exist_key]= new_value
와 같이, 기존에 존재하는 키를 이용한 assignment는 해당 키에 해당하는 value를 새로운 값으로 교체함.del dic[exist_key]
는 해당 키에 해당하는 key-value 쌍을 dictionary에서 제거한다. 만약 지정한 키가 없는 경우엔KeyError
가 발생한다.
in
: membership operation
dictionary
는 기본적으로 key를 통해 indexing되기 때문에, in
membership operator을 통한 처리시 키 들에 대해 확인이 이루어짐.
list
에 비해 고속으로 처리(hashing의 위력)되지만, sequence type들에 비해 보다 많은 메모리 사용량이 필요함.
>>> dict = {'gachon': 100, 'bme': 200, 'elec': 300}
>>> 'bme' in dict
True
>>> 300 in dict
False
dictionary 의 메서드 정리
2023.07.11 - [Python] - [Python] Dictionary's methods
'Python' 카테고리의 다른 글
[Python] list (sequence type) : summary (0) | 2023.07.12 |
---|---|
[Python] set and frozenset (0) | 2023.07.12 |
[Python] Dictionary's methods (0) | 2023.07.11 |
[Python] 특정 점에서 직선에 수선의 발 구하기. (0) | 2023.07.11 |
[Python] atan2 (1) | 2023.07.10 |