| 메소드 | 설명 |
|---|
| setdefault(키,기본값) | 딕셔너리에 키-값 쌍을 추가, 키만 지정하면 값에 None을 저장 |
| update(키=값) | 딕셔너리에서 키의 값을 수정, 딕셔너리에 키가 없으면 키-값 쌍을 추가 |
| pop(키) | 딕셔너리에서 특정 키-값 쌍을 삭제한 뒤 값을 반환, del 딕셔너리[키]와 같음 |
| popitem() | 딕셔너리에서 임의의 키-값 쌍을 삭제하고 해당 키-값 쌍을 튜플로 반환 |
| clear() | 딕셔너리의 모든 키-값 쌍을 삭제 |
| get(키) | 딕셔너리에서 특정 키의 값을 가져옴 |
| items() | items는 딕셔너리의 키-값 쌍을 모두 가져옴 |
| copy() | 딕셔너리를 복사하여 새 딕셔너리 생성 |
| dict.fromkeys(키리스트) | 리스트(튜플)로 딕셔너리를 만듦, 키 리스트만 지정하면 값은 모두 None이 저장됨 |
1.딕셔너리 조작하기
1-1.딕셔너리에 키-값 쌍 추가하기 serdefault
setdefault: 키-값 쌍 추가
update: 키의 값 수정, 키가 없으면 키-값 쌍 추가
x = {'a':10, 'b':20, 'c':30}
x.setdefault('d',40)
1-2.딕셔너리에 키 수정하기 update
update(키=값)
update(키:값, 키:값)
update([키,값],[키,값])
x = {'a':10, 'b':20, 'c':30, 'd':40}
x.update(a=100)
x.update({'a':20, 'b':10})
x.update(['c':40, 'd':30])
1-3.딕셔너리 키-값 쌍 삭제하기 pop(키)
pop()
pop(키,기본값)
del[키]
x = {'a':10, 'b':20, 'c':30, 'd':40}
x = pop('a')
x.pop('d',40)
del x['b']
1-4.딕셔너리에서 임의의 키-값 쌍 삭제하기 popitem
popitem() # 딕셔너리에서 임의의 키-값 쌍을 삭제한 뒤 삭제한 키-값 쌍을 튜플로 반환
x = {'a':10, 'b':20, 'c':30, 'd':40}
x.popitem()
1-5.딕셔너리의 모든 키-값 쌍을 삭제하기 clear
x = {'a':10, 'b':20, 'c':30, 'd':40}
x.clear()
1-6.딕셔너리에서 값 가져오기 get items keys values
get(키) # 특정 키의 값 가져옴
get(키,값) # 키가 없으면 기본값으로 지정한 0 반환
items() # 키-값 쌍으로 가져옴
keys() # 키 가져옴
values() # 값 가져옴
x = {'a':10, 'b':20, 'c':30, 'd':40}
x.get('a')
x.get('f')
x.items()
x.keys()
x.values()
1-7.리스트와 튜플로 딕셔너리 만들기
dict.fromkeys(키리스트) # 키 리스트로 딕셔너리를 생성하며 값은 모두 None
dict.fromkeys(키리스트,값)
keys = ['a','b','c','d']
x = dict.fromkeys(keys)
2.반복문으로 딕셔너리의 키-값 쌍을 모두 출력
for 키, 값 in 딕셔너리.items():
반복할 코드
x = {'a':10, 'b':20, 'c':30, 'd':40}
for key, value in x.item():
print(key, value)
2-1.딕셔너리의 키만 출력하기 key()
items() # 키-값 쌍으로 가져옴
keys() # 키 가져옴
values() # 값 가져옴
x = {'a':10, 'b':20, 'c':30, 'd':40}
for key, value in x.key():
print(key, end='')
2-2.딕셔너리의 값만 출력하기 value
x = {'a':10, 'b':20, 'c':30, 'd':40}
for key, value in x.values():
print(value, end='')
3.딕셔너리 컴프리헨션 사용하기
{키:값 for 키,값 in 딕셔너리}
dict({키:값 for 키,값 in 딕셔너리})
keys = ['a', 'b', 'c', 'd']
x = {key:value for key, value in dict.fromkeys(keys).item()}
3-1.딕셔너리 컴프리헨션에서 if 조건문 사용하기
- 딕셔너리 표현식에서 if 조건문을 사용하여 삭제할 값을 제외하면 됨
# 키-값 삭제하기
x = {'a':10, 'b':20, 'c':30, 'd':40}
x = {key:value for key, value in x.items() if value != 20}
4.딕셔너리 안에서 딕셔너리 사용하기
딕셔너리 = {키1:{키A:값A},키2:{키A:값B}}
# 딕셔너리 안에 들어있는 딕셔너리 접근하기
딕셔너리[키][키]
딕셔너리[키][키] = 값
5.딕셔너리의 할당과 복사
- 딕셔너리를 다른 변수에 할당하면 딕셔너리는 두 개가 아닌 한 개
- 딕셔너리를 두개로 만들려면 copy() 메소드로 복사
x = {'a':0, 'b':0, 'c':0, 'd':0}
y = x
x is y # 변수이름만 다를 뿐 같은 객체
5-1.중첩 딕셔너리의 할당과 복사
x = {'a':{'python':'2.7'}, 'b':{'python':'3.6'}}
y = x.copy()
y['a'][['python'] = '2.7.15'
x
y
- 중첩 딕셔너리를 완전히 복사하려면 copy 메소드 대신 copy 모듈의 deepcopy 함수를 사용해야 함
x = {'a':{'python':'2.7'}, 'b':{'python':'3.6'}}
import copy
y = copy.deepcopy(x)
y['a']['python'] = '2.7.15'
x
y