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
반응형
'Python > 45가지 파이썬 기초문법 예제' 카테고리의 다른 글
| 파이썬 (32) 딕셔너리 변환 (0) | 2025.05.20 |
|---|---|
| 파이썬 (31) 중첩 딕셔너리 추가 (0) | 2025.05.18 |
| 파이썬 (29) 문자열 포맷팅 (0) | 2025.05.17 |
| 파이썬 (28) 사용자 입력 처리 (0) | 2025.05.15 |
| 파이썬 (27) 멀티 파일 읽기 (0) | 2025.05.13 |