본문으로 바로가기

딕셔너리 응용하기

category Python/python 2020. 10. 15. 23:52

딕셔너리에 키-값 쌍 추가하기

 : 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()를 사용해서 딕셔너리 완전히 복사 (중첩되어 있는 딕셔너리까지 복사하여 서로 영향을 주지 않음)

반응형

'Python > python' 카테고리의 다른 글

파일 사용하기  (0) 2020.10.16
세트 사용하기  (0) 2020.10.16
문자열 응용하기  (0) 2020.10.15
2차원 리스트  (0) 2020.10.14
리스트와 튜플 응용하기  (0) 2020.10.14