Python/45가지 파이썬 기초문법 예제

파이썬 (30) 중첩 딕셔너리

monstro 2025. 5. 18. 15:56
728x90
반응형

이번에는 딕셔너리안에 딕셔너리가 존재하는 중첩 딕셔너리 예제를 알아본다

d = {
    "group1" : [
        {'name' : 'Park', 'age' : '32', 'gender' : 'Male'},
        {'name' : 'Cho', 'age' : '30', 'gender' : 'Feale'},
        {'name' : 'Kwon', 'age' : '39', 'gender' : 'Male', 'married' : 'No'}
    ],
    "group2" : [
        {'name' : 'Kang', 'age' : '31', 'gender' : 'Male', 'married' : 'No'},
        {'name' : 'Lee', 'age' : '37', 'gender' : 'Female', 'married' : 'Yes'}
    ],
    "type" : {'a' : 'employee', 'b' : 'officer', 'c' : 'director', 'd' : 'manager', 'e' : 'service provider'}
}

 

위와 같은 중첩 딕셔너리에서 

Name : Kang,  Age : 31, Type : officer

 

위와 같은 결과를 출력해야 한다

 

1) 인덱스를 사용한 직접 접근

print(f"Name : {d['group2'][0]['name']}, Age : {d['group2'][0]['age']}, type : {d['type']['b']}")

 

인덱스를 통해 데이터에 직접 접근하여 결과를 출력한다

하지만 직접 접근하게 되면 실제 데이터를 오염시킬 수 있으므로 가급적 사용하지 않는다

실행 결과는 다음과 같다

 

2) get 메서드를 통한 간접 접근

print(f"Name : {d.get('group2')[0].get('name')}, Age : {d.get('group2')[0].get('age')}, type : {d.get('type').get('b')}")

 

딕셔너리에서 get 메서드를 사용하고 key값을 넘겨주면 key값에 해당하는 value를 가져올 수 있다

get 메서드를 사용하면 데이터를 가져오기만 하므로 훨씬 안전하다

실행 결과는 다음과 같다

 

728x90
반응형