파이썬에서 딕셔너리(dictionary) 객체는 가변(mutable) 자료형입니다. 이러한 특성 덕분에 하나의 딕셔너리 객체를 다른 딕셔너리의 키에 연결된 값으로 사용할 수 있습니다.
즉, 키의 값(value) 부분에 또 다른 딕셔너리를 정의하면 중첩 딕셔너리(nested dictionary)를 만들 수 있습니다. 이는 복잡한 계층 구조의 데이터를 직관적으로 표현할 때 매우 유용합니다.
중첩 딕셔너리 예제
다음 예제는 학생 두 명의 정보를 각각 하나의 딕셔너리로 정의하고, 이를 다시 상위 딕셔너리의 값으로 저장한 것입니다.
>>> students = {
"student1": {
"name": "Raaj",
"age": 23,
"subjects": ["Phy", "Che", "maths"],
"GPA": 8.5
},
"student2": {
"name": "Kiran",
"age": 21,
"subjects": ["Phy", "Che", "bio"],
"GPA": 8.25
}
}중첩 딕셔너리 접근 방법
중첩된 값에 접근하려면 키를 연속해서 지정하면 됩니다.
>>> students["student1"]["name"] 'Raaj' >>> students["student2"]["GPA"] 8.25
값 수정 및 추가
내부 딕셔너리의 값도 일반 딕셔너리와 동일하게 수정하거나 새로운 키-값 쌍을 추가할 수 있습니다.
>>> students["student1"]["GPA"] = 9.0 >>> students["student1"]["city"] = "Seoul"
이처럼 딕셔너리가 가변 자료형이라는 점을 활용하면, JSON과 유사한 구조의 데이터를 파이썬에서 손쉽게 다룰 수 있습니다.