[Python-Basic] dict 메소드
- dir 함수를 이용하여 dict 객체의 메소드를 확인할 수 있다.
'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'와 같은 메소드가 존재한다.
(주관적인 중요도에 따라 *을 붙이겠다)
1. clear
temp = {'a': 1, 'b': 2, 'c': 3}
dup = temp
dup.clear()
print(temp, dup) # {} {}
dup 과 temp은 같은 메모리 주소를 참조하고 clear()는 메모리 주소 자체를 초기화 시키는 메소드 인걸 알 수 있다.
2. copy
temp = {'a': 1, 'b': 2, 'c': 3}
cpy = temp.copy()
temp.clear()
print(temp, cpy) # {} {'a': 1, 'b': 2, 'c': 3}
copy()는 새로운 메모리 주소값으로 깊은 복사 (Deep Copy)를 하는 메소드이다.
3. fromkeys
keys = ['a', 'b', 'c']
print(dict.fromkeys(keys, 1)) # {'a': 1, 'b': 1, 'c': 1}
지정한 keys로 새로운 dict를 생성. 두 번째 인자는 벨류를 입력 생략 시 None으로 입력된다.
4. get *
temp = {'a': 1, 'b': 2, 'c': 3}
print(temp.get('a')) # 1
print(temp.get('d')) # None
해당 키가 존재하면 해당키의 벨류를 존재하지 않는다면 None을 출력.
5. items *
temp = {'a': 1, 'b': 2, 'c': 3}
items = temp.items()
print(items) # dict_items([('a', 1), ('b', 2), ('c', 3)])
for i in items:
print(i) #('a', 1) / ('b', 2) / ('c', 3)
키, 벨류 쌍을 튜플로 출력.
6. keys **
temp = {'a': 1, 'b': 2, 'c': 3}
keys = temp.keys()
print(keys) # dict_keys(['a', 'b', 'c'])
for i in keys:
print(i) # a / b / c
키를 담은 새로운 객체를 생성 list() 함수를 이용하여 리스트로 변환이 가능하다.
7. pop
temp = {'a': 1, 'b': 2, 'c': 3}
pop = temp.pop('a')
print(pop, temp) # 1 {'b': 2, 'c': 3}
해당 키, 벨류 쌍을 제거 후 벨류 를 리턴. 만약 키가 존재하지 않는다면 에러.
8. popitem
temp = {'a': 1, 'b': 2, 'c': 3}
pop = temp.popitem()
pop2 = temp.popitem()
print(pop, pop2, temp) # ('c', 3) ('b', 2) {'a': 1}
튜플로 된 임의의 키, 값 썅을 리턴. 빈 dict이면 에러.
9. setdefault
temp = {'a': 1, 'b': 2, 'c': 3}
set_default = temp.setdefault('b')
temp.setdefault('d', 4)
print(set_default, temp) # 2 {'a': 1, 'b': 2, 'c': 3, 'd': 4}
키, 값을 순서로 인자를 입력한다.
만약 키가 존재하면 해당 키의 값을 리턴 기존의 인자의 값으로 수정되지 않는다.
만약 키가 존재하지 않는다면 인자로 입력한 키, 벨류 쌍을 추가
10. update *
temp = {'a': 1, 'b': 2, 'c': 3}
temp.update({'d': 4})
temp.update({'b': 3})
print(temp) # {'a': 1, 'b': 3, 'c': 3, 'd': 4}
새로운 dict를 기존의 dict에 assign.
11 values **
temp = {'a': 1, 'b': 2, 'c': 3}
values = temp.values()
print(values) # dict_values([1, 2, 3])
for i in values:
print(i) # 1/ 2/ 3
존재하는 벨류를 새로운 객체로 리턴한다. list()를 이용하여 list로 변환이 가능하다. 중복 체크는 하지 않는다. 예를들어 벨류 중 2가 두개 존재하면 두개 모두 포함해 리턴.
Author And Source
이 문제에 관하여([Python-Basic] dict 메소드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tkdfo93/Python-Basic-dict-메소드저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)