[Python] 8-2장 딕셔너리, 딕셔너리 함수(키, 값 접근, 반환, 삭제)

딕셔너리(dictionary)

- 값과 관련된 키(key)가 존재. 서로 관련된 키와 값이 쌍으로 저장

- 중괄호{}로 생성

- 숫자, 문자열 모두 사용 가능

딕셔너리 : {key:value}
language = {}
language["홍길동"] = "Korean"
print(language)  # {'홍길동': 'Korean'}

 

 

 

값 접근

- 딕셔너리[키]

: 딕셔너리에서 키에 해당하는 값 가져옴

: 딕셔너리에 해당하는 값 없으면 오류

language = {"홍길동": "Korean", "슈퍼맨": "American"}
print(language["슈퍼맨"])  # American

 

 

- 딕셔너리.get(키)

: 딕셔너리에서 키에 해당하는 값 가져옴

: 딕셔너리에 해당하는 값 없으면 None 출력

딕셔너리.get(키, 값2) : 딕셔너리에 키가 존재하면 그 값 가져오고 없으면 값2 가져옴
language = {"홍길동": "Korean", "슈퍼맨": "American"}
language.get("홍길동")  # 'Korean'
language.get("전우치", "없음")  # '없음'

 

 

 

값 추가, 변경

- 딕셔너리[키] = 값

: 키에 값이 없을 경우 값 추가

: 키에 값이 있을 경우 원래 있던 값 빠지고 새로운 값으로 변경

language = {"홍길동": "Korean", "슈퍼맨": "American"}
language["셜록 홈즈"] = "British"  # 값 추가
language["홍길동"] = "French"  # 값 변경

 

 

 

키, 값 반환

- 딕셔너리.keys()

: 지금 사용 중인 키 반환

language = {"홍길동": "Korean", "슈퍼맨": "American", "셜록 홈즈": "British"}
print(language.keys())  # dict_keys(['홍길동', '슈퍼맨', '셜록 홈즈'])

 

 

- 딕셔너리.values()

: 지금 사용 중인 값 반환

language = {"홍길동": "Korean", "슈퍼맨": "American", "셜록 홈즈": "British"}
print(language.values())  # dict_values(['Korean', 'American', 'British'])

 

 

- 딕셔너리.items()

: 키, 값 쌍으로 반환

language = {"홍길동": "Korean", "슈퍼맨": "American", "셜록 홈즈": "British"}
print(language.items())  # dict_items([('홍길동', 'Korean'), ('슈퍼맨', 'American'), ('셜록 홈즈', 'British')])

 

 

 

값 확인

- 키 in 딕셔너리

: 사전 안에 키가 있는지 확인

for key in language.keys():
    print(key, language[key])
    
# 홍길동 Korean
# 슈퍼맨 American
# 셜록 홈즈 British

 

 

 

항목 삭제

- del 딕셔너리[키]

: 키에 있던 값 삭제

language = {"홍길동": "Korean", "슈퍼맨": "American", "셜록 홈즈": "British"}
del language["슈퍼맨"]
print(language)  # {'홍길동': 'Korean', '셜록 홈즈': 'British'}

 

 

- 딕셔너리.clear()

: 딕셔너리 안의 모든 내용 삭제

language = {"홍길동": "Korean", "슈퍼맨": "American", "셜록 홈즈": "British"}
language.clear()
print(language)  # {}