본문 바로가기
개발/python

[python] 딕셔너리(Dictionary) 소개

by 77monkey 개발자 2025. 5. 17.
반응형

 

 

 

 

딕셔너리(Dictionary)

딕셔너리는 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 자료형으로, 중괄호 {}를 사용하여 생성하며, 강 쌍은 : 으로 구분합니다. 

딕셔너리(Dictionary) 예시

아래 예시는 person에 대한 정보를 저장하는 예시입니다. 키(Key)로 name을 입력하고 값(Value)로 77monkey를 입력했습니다. 이후 각각 키(Key)와 값(Value)를 입력하여 딕셔너리(Dictionary)를 작성해 보았습니다.

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
print(person)
  • 키(Key): name, citiy, birth
  • 값(Value): 77monkey, Seoul, 77

실제로 코드를 실행해 보면 아래와 같이 확인할 수 있습니다.

딕셔너리 예시1
딕셔너리 예시1

딕셔너리(Dictionary) 기본

딕셔너리(Dictionary) 값 접근

딕셔너리(Dictionary) 예시에서 보았던 예제를 그대로 가져왔습니다. 각가의 키(Key)를 접근하면 값(Value)가 나오는 것을 알 수 있습니다.

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
print(person["name"])
print(person["city"])
print(person["birth"])

결과는 예상하신대로 "77monkey", "Seoul", "77"이 나오는 것을 알 수 있습니다. 

딕셔너리 예시2
딕셔너리 예시2

딕셔너리(Dictionary)에 존재하지 않는 키 접근

딕셔너리(Dictionary) 값 접근에서 들었던 예시에서 없는 키(Key)을 접근하는 방법은 2가지가 있습니다. 

첫번째 키(Key)를 이용해서 접근하는 방법입니다. 

키(Key) 값으로 없는 "job"을 접근해 봤습니다.

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
print(person["job"])

이럴 경우에 결과가 어떻게 될까요? 당연히 없는 값을 접근했기 때문에 에러를 냅니다. 없는 키(Key)를 접근했기 때문입니다.

딕셔너리 예시3
딕셔너리 예시3

그렇다면 이런 에러가 나지 않고 딕셔너리(Dictionary)에 존재하지 않는 키를 접근하는 방법이 무엇일까요?

바로, 딕셔너리(Dictionary)의 메서드를 이용하는 방법입니다. 이렇게 접근할 경우에 에러가 아닌 "None" 값을 return하게 됩니다. 

딕셔너리 예시4
딕셔너리 예시4

딕셔너리(Dictionary) 항목 추가

이번에는 딕셔너리(Dictionary)에 항목을 추가 및 수정하는 방법을 알아봅시다. 

새로운 키(Key)로 "job"을 추가해 보도록 하겠습니다. 

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
person["job"] = "developer"
print(person)

그리고나서 전체 person 딕셔너리(Dictionar)를 출력해 보겠습니다.

딕셔너리 예시5
딕셔너리 예시5

그러면 job에 해당하는 키(Key)에 developer에 해당하는 값(Value)가 잘 저장된 것을 볼 수 있습니다.

 

딕셔너리(Dictionary) 항목 수정

기존 person 딕셔너리(Dictionary)에서 city에 해당하는 값(Value)을 New York으로 변경해 보도록 하겠습니다. 

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
print(person)
person["city"] = "New York"
print(person)
print(person["city"])

 

결과를 보시면 아시겠지만, 기존에 Seoul이었던 값(Value)이 New York으로 변경된 것을 볼 수 있습니다.

딕셔너리 예시6
딕셔너리 예시6

딕셔너리(Dictionary) 항목 삭제

기존 person 딕셔너리(Dictionary)에서 위에서 추가한 job에 해당하는 키(Key)를 삭제해 보도록 하겠습니다.

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
person["job"] = "developer"
print(person)

del person["job"]
print(person)

 

 

결과를 확인하면 기존 person이 최종적으로 출력되는 것을 볼 수 있습니다.

딕셔너리 예시6
딕셔너리 예시6

그러면 딕셔너리(Dictionary) 항목 수정에서 진행한 예시에서 city에 해당하는 키(Key)를 제거하면 어떻게 될까요? 궁금하지 않으신가요? 확인해 보도록 합시다.

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
print(person)
person["city"] = "New York"
print(person)
print(person["city"])
del person["city"]
print(person)
print(person["city"])

 

딕셔너리 예시7
딕셔너리 예시7

city에 해당하는 쌍이 삭제됩니다. 그리고 city에 접근하려고 했던 시도가 무의하기 때문에 error를 발생하게 됩니다. 

마무리

딕셔너리(Dictionary)는 매우 빠른 조회 속도를 자랑하기 때문에 적절하게 활용한다면 좋을 것 같습니다. 리스트처럼 순서가 있는 자료형은 아니지만, Python 3.7 이후부터는 입력 순서를 유지합니다. 젤 중요한 부분인데 키(Key)는 변경 불가능한(immutable) 자료형이어야만 합니다. 변경 가능한(mmutable) 자료형을 사용할 경우 error가 발생합니다. 

다음 시간에는 딕셔너리(Dictionary)의 메서드에 대해서 알아보도록 하겠습니다.

반응형

'개발 > python' 카테고리의 다른 글

[python] 튜플(Tuple)  (0) 2024.09.22
[python] 리스트(List) 관련 함수  (0) 2024.09.21
[python] 리스트(List) 소개  (0) 2024.09.20
[python] 문자열 관련 함수  (0) 2024.09.19
[python] 문자열 인덱싱과 슬라이싱  (0) 2024.09.18