Dictionary's methods

비우기
dic.clear()
- Dictionary instance (or object)
dic을 전부 비움. - 모든 key-value 쌍들이 제거됨.
값 얻어오기
dic.get(key)
key에 해당하는 키를 가지고 있는 value를 반환.- 만약 없다면
None이 반환됨. dic[key]와 같이 square bracket을 통한 indexing보다 권장됨. (key를 통한 indexing은 없을 시 error발생.)
dic.get(key,default_value)
key에 해당하는 키를 가지고 있는 value를 반환.- 만약 없다면
default_value를 반환.
빼내면서 값 얻어오기
dic.pop(key)
key에 해당하는 value를 반환하고,dic에서 해당 key-pair를 제거함.dic에서 빼내는 동작에 해당함 (pop)
dic.pop(key, default_value)
get의 경우와 유사하게pop의 동작을 하는 건 같은데 해당 키에 해당하는 item이 없을 시default_value를 반환.
추가하면서 값 얻어오기
dic.setdefault(key)
key에 해당하는 value를 반환.- 만약
key에 해당하는 item이 없으면, 해당key를 추가 (이 때 값은None)하고 이 값인None을 반환.
dic.setdefault(key,value)
key에 해당하는 value가 있으면dic.setdefault(key)와 같음 (해당 키의 값을 반환).key에 해당하는 key-value 쌍이 없을 경우,value를 반환해주면서- 동시에
key를 키로 가지고 value를value로 가지는 key-value pair를dic에 추가.
다른 dictionary object로 갱신
dic.update(other_dic)
dic을other_dic으로 업데이트 (갱신).other_dic과 같은 키를 가지는 key-value쌍은other_dic기준으로 변경되고,dic에는 없던other_dic의 key-value 쌍은 추가되며,dic에만 있던 키의 경우에는 그대로 유지됨.
Loop 관련
기본적으로 for문으로 dictionary를 사용할 경우, key들이 loop varaible에 할당됨.
for k in dic:
print(f'key is {k}')
dictionary에 대한 view object 얻기
- view object란 대상이 되는 object를 변경시키지 않으면서 보다 효과적으로 현재 대상 object의 상태를 알 수 있게 해주는 객체를 가르킴.
- dictionary에 대한 view object들은 모두 iterable object임.
https://dsaint31.tistory.com/entry/Python-Iterable-and-Iterator-puls-Generator
[Python] Iterable and Iterator, plus Generator
Iterable and Iterator, and GeneratorIterable for 문에서 in 뒤에 위치하여 iterate (반복, 순회)가 가능한 object를 가르킴.__iter__() 라는 special method를 구현하고 있으며, 이를 통해 자신에 대한 iterator object를 반환
dsaint31.tistory.com
명시적으로 key에 대해서 loop가 구성될지, value에 대해 구성될지 등은 다음의 method들을 통해 지정 가능함.
dic.keys()
dic의 키들로 구성된dict_keys(generator의 일종이라고 보면 됨)를 반환함.for문등을 통해 iteration처리가능.for k in dic.keys():의 loop 를 만들 수 있음.list로 변환할 수도 있음.
dic.values()
dic의 값들로 구성된dict_values(generator의 일종이라고 보면 됨)를 반환함.for문등을 통해 iteration처리가능.for v in dic.values():의 loop 를 만들 수 있음.list로 변환할 수도 있음.
dic.items()
dic의 key-value 쌍에 해당하는 tuple들을 item으로 가지는dict_items(generator의 일종이라고 보면 됨)를 반환함.for문등을 통해 iteration처리가능.for k, v in dic.items():의 loop 를 만들 수 있음.list로 변환할 수도 있음.
같이 보면 좋은 자료들
2023.07.11 - [Python] - [Python] dictionary (Mapping type): basic
[Python] dictionary (Mapping type): basic
dictionary (dict)Python에서 dictionary는key-value pair를 item으로 가지는unorderedmutablecollection임: collections.abc.Mapping 의 구현!set과 함께 curly bracket (or brace)를 사용하는데, empty dictionary가 바로 {}로 표현됨(diction
ds31x.tistory.com
2023.10.06 - [Pages] - [Python] Collections
[Python] Collections
Python에는 여러 데이터를 담아두고 다룰 수 있는 다양한 컬렉션(collection) 클래스들이 있음.대표적으로 list, tuple, set, dict 등이 있는데 이들의 기능을 설명하는 abstract base class들로부터 시작하여 각
ds31x.tistory.com
'Python' 카테고리의 다른 글
| [Python] set and frozenset (0) | 2023.07.12 |
|---|---|
| [Python] dictionary (Mapping type): basic (0) | 2023.07.11 |
| [Python] 특정 점에서 직선에 수선의 발 구하기. (0) | 2023.07.11 |
| [Python] atan2 (1) | 2023.07.10 |
| [Python] lambda expression and map, filter, reduce. (0) | 2023.07.07 |