딕셔너리(dict)

애늙은이·2023년 7월 25일
0
post-thumbnail

마지막으로 알아볼 컨테이너 자료형은 딕셔너리입니다. 딕셔너리는 사전처럼 이름과 뜻의 대응 관계들로 이루어져 있기에 다음과 같은 상황에서 유용하게 사용할 수 있습니다.

학생 별로 과목 이름과 점수 표기
ex) 국어: 90점, 수학: 85점...

이런 상황에서는 리스트나 튜플같은 자료형을 사용하기 어렵습니다. 하지만 딕셔너리를 사용한다면 이를 쉽게 표현할 수 있습니다.

🤔 딕셔너리란?

딕셔너리는 다른 컨테이너 자료형과 다르게 키(key)와 값(value)로 구성되어 있습니다. 키와 값이 한 쌍이 되어 원소를 이루죠. 집합 자료형과 같이 중괄호({})를 통해 생성합니다.

dictionary = {키1: 값1, 키2: 값2, 키3: 값3...}

키는 정수, 실수 등의 자료형이 올 수 있으나 컨테이너 자료형은 올 수 없습니다. 반면 값에는 어떤 자료형이든 가능합니다.

a = {'name': '애늙은이', 'age': 20} 
# dict(name="애늙은이", age=21)로도 생성할 수 있습니다.
b = {1: [1,2,3,4], 3.14: (7, 8)}

print(a) # 결과: {'name': '애늙은이', 'age': 20}
print(b) # 결과: {1: [1, 2, 3, 4], 3.14: (7, 8)}

❗ 딕셔너리 생성 시 주의점

딕셔너리의 key는 중복이 불가능하지만, value는 중복될 수 있습니다.

🔑 딕셔너리의 인덱싱과 슬라이싱

딕셔너리 역시 집합과 같이 순서가 없는 자료형이기 때문에 인덱싱이나 슬라이싱을 할 수 없습니다. 다만, 집합과 다르게 키를 통해서 값에 접근할 수 있습니다.

a = {'korean': 90, 'math': 75, 'english': 80}
print(a['korean']) # 결과: 90

📐 딕셔너리의 수정

딕셔너리는 키를 통해서 연결된 값에 접근할 수 있습니다. 이뿐만 아닌, 딕셔너리에 새로운 값을 추가하거나 기존 값을 변경하는 것도 가능합니다.

a = {'korean': 90, 'math': 75, 'english': 80}

a['science'] = 100 # 새로운 값 추가
print(a) # 결과: {'korean': 90, 'math': 75, 'english': 80, 'science': 100}

a['korean'] = 80 # 기존 값 변경
print(a) # 결과: {'korean': 80, 'math': 75, 'english': 80, 'science': 100}

del 함수를 사용해 값을 삭제할 수도 있습니다. 이때도 key 값으로 접근합니다.

del a['english']
print(a) # 결과: {'korean': 80, 'math': 75, 'science': 100}

⚓ 딕셔너리 관련 함수

딕셔너리는 키와 값 쌍으로 구성되어 있기에 다른 컨테이너 자료형과는 다른 함수들을 가지고 있습니다. 리스트, 튜플 등과 마찬가지로 .뒤에 함수를 호출하여 사용합니다.

함수기능
keys()딕셔너리 내 키들만을 모아 반환
values()딕셔너리 내 값들만을 모아 반환
items()딕셔너리 내 키와 값 쌍들을 튜플로 묶어 반환
get(key)키를 통해 딕셔너리 내 값에 접근
profile
글쓰는 개발자입니다.

0개의 댓글