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'}
}
이전과 동일한 중첩 딕셔너리가 존재하고,
group1의 리스트에 {'name' : 'Han', 'age' : '22', 'gender' : 'Male', 'married' : 'No'} 추가
type의 딕셔너리에 {'f' : 'engineer'} 추가
위와 같이 새로운 데이터를 추가하면 된다
1) 인덱스를 통한 직접 접근
d['group1'].append({'name' : 'Han', 'age' : '22', 'gender' : 'Male', 'married' : 'No'})
d['type']['f'] = 'engineer'
print(d)
인덱스를 사용하여 딕셔너리의 데이터에 직접 접근하였다
하지만 직접 접근하는 것은 데이터를 오염시킬 수 있으므로 가급적 사용해서는 안된다
리스트에 데이터를 추가하는 경우 append 메서드를 사용하였다
실행 결과는 다음과 같다


2) get 메서드를 통한 간접 접근
d.get('group1').append({'name' : 'Han', 'age' : '22', 'gender' : 'Male', 'married' : 'No'})
d.get('type')['f'] = 'engineer'
print(d)
인덱스를 통해 간접 접근하는 것은 데이터를 오염시킬 수 있으므로
get 메서드를 통해 간접적으로 접근하여 데이터를 추가하였다
실행 결과는 다음과 같다

3) get 메서드를 통한 간접적 접근 + update 메서드를 통한 딕셔너리 데이터 추가
d.get('group1').append({'name' : 'Han', 'age' : '22', 'gender' : 'Male', 'married' : 'No'})
d.get('type').update({'f' : 'engineer'})
print(d)
get 메서드를 통해 간접적으로 접근하는 것까지는 2번 방법과 동일하지만
딕셔너리에 데이터를 추가하기 위해 사용할 수 있는 update 메서드를 사용하였다
딕셔너리 형태의 인자를 받으며 새로 추가할 key와 value를 넣어주면 된다
실행 결과는 다음과 같다

728x90
반응형
'Python > 45가지 파이썬 기초문법 예제' 카테고리의 다른 글
| 파이썬 (33) JSON 변환 (0) | 2025.05.20 |
|---|---|
| 파이썬 (32) 딕셔너리 변환 (0) | 2025.05.20 |
| 파이썬 (30) 중첩 딕셔너리 (0) | 2025.05.18 |
| 파이썬 (29) 문자열 포맷팅 (0) | 2025.05.17 |
| 파이썬 (28) 사용자 입력 처리 (0) | 2025.05.15 |