딕셔너리에 키-값 쌍 추가하기
: setdefault - 키-값 쌍 추가
: update - 키의 값 수정, 키가 없으면 키-값 쌍 추가
딕셔너리에 키와 기본 값 저장하기
: 키만 지정하면 값에 None을 저장
setdefault(키)
: 키와 기본값을 지정하면 값에 기본값을 저장한 뒤 해당 값을 반환함
setdefault(키, 값)
: 키를 지정하고 동일한 이름으로 다시 지정하게 되면 처음 등록한 값만 적용됨(수정 불가)
딕셔너리에서 키의 값 수정하기
: 키가 문자일 때
update(키=값)
- 해당 키가 있을 시 수정함
- 해당 키가 없을 시 추가함
- 수정, 추가를 동시에 할 수 있음(여러 개 동시에 가능)
: 키가 숫자 일 때
- update(키=값) 형태로 입력시 오류 발생
- 딕셔너리 사용해서 update
update(딕셔너리)
- zip 사용해서 update
update(zip([키1, 키2],[값1, 값2]))
딕셔너리에서 키-값 쌍 삭제하기
pop(키)
: 키를 삭제 후 값을 반환함
pop(키, 기본값)
: 딕셔너리에 키가 있을 때는 해당 키-값 쌍을 삭제한 뒤 삭제한 값을 반환
: 키가 없을 때는 기본값만 반환
del 딕셔너리[키]
: del은 값을 반환하지 않음
딕셔너리에서 임의의 키-값 쌍 삭제하기(~v3.5)
: 3.5버전 이하에서는 임의의 키-값 쌍을 삭제함
: 3.6버전 이상에서는 마지막 키-값 쌍을 삭제함
딕셔너리의 모든 키-값 쌍을 삭제하기
딕셔너리.clear()
: 반환값은 None (전체를 삭제하기 때문)
딕셔너리에서 키의 값을 가져오기
딕셔너리.get(키)
딕셔너리.get(키, 기본값)
: 해당 키가 있을 때는 값을 반환
: 해당 키가 없을 때는 기본값을 반환
딕셔너리에서 키-값 쌍을 모두 가져오기
딕셔너리.items()
: 키-값 쌍을 모두 가져옴
딕셔너리.keys()
: 키를 모두 가져옴
딕셔너리.values()
: 값을 모두 가져옴
리스트와 튜플로 딕셔너리 만들기
dict.fromkeys(키 리스트)
: 키 리스트로 딕셔너리를 생성하며 값은 모두 None으로 생성
dict.fromkeys(키 리스트, 값)
: 키 리스트로 딕셔너리를 생성하며 값은 모두 지정한 값으로 들어감
defaultdict 사용하기
defaultdict(기본값생성함수)
: 기본값을 0이 아닌 다른 값으로 설정
반복문으로 딕셔너리의 키-값 쌍을 모두 출력하기
for 키, 값 in 딕셔너리.items():
반복할 코드
딕셔너리의 키만 출력하기
for 키, 값 in 딕셔너리.keys():
반복할 코드
틱셔너리의 값만 출력하기
for 키, 값 in 딕셔너리.values():
반복할 코드
딕셔너리 표현식 사용하기
{키:값 for 키, 값 in 딕셔너리}
dict({키:값 for 키, 값 in 딕셔너리})
: 맨 앞의 value와 key의 위치를 바꾸면 서로 바뀐 상태의 딕셔너리가 생성됨
딕셔너리 표현식으로 딕셔너리 값 삭제
: for 반복문 사용
- 딕셔너리를 for 반복문으로 반복하면서 키-값 쌍을 삭제하면 딕셔너리 크기가 바뀌었다는 에러가 발생함
: 딕셔너리 표현식에서 if 조건문 사용
{키:값 for 키, 값 in 딕셔너리.items() if 조건식}
딕셔너리 안에 딕셔너리 사용하기
딕셔너리 = {키1:{키A:값A}, 키2:{키B:값B}}
딕셔너리[키][키]
딕셔너리[키][키] = 값
딕셔너리 할당과 복사
변수 = 딕셔너리.copy()
중첩 딕셔너리의 할당과 복사 알아보기
: copy()를 사용하면 복사를 해주지만, 중첩되어 있는 딕셔너리는 같은 딕셔너리를 사용함 (수정하면 같이 바뀜)
: deepcopy()를 사용해서 딕셔너리 완전히 복사 (중첩되어 있는 딕셔너리까지 복사하여 서로 영향을 주지 않음)