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

파이썬 (31) 중첩 딕셔너리 추가

monstro 2025. 5. 18. 16:45
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
반응형