[Python]중첩 Dict의 사용예제
중첩된 Dict의 사용예제를 확인해보자.
- 조회하기
d = {"group1":[ {'name': 'Park', 'age': '32', 'sex': 'Male'}, {'name': 'Cho', 'age': '44', 'sex': 'Female'}, {'name': 'Kang', 'age': '39', 'sex': 'Female', 'married': 'No'} ], "group2":[ {'name': 'Kim', 'age': '23', 'sex': 'Male', 'married': 'Yes'}, {'name': 'Lee', 'age': '37', 'sex': 'Male', 'married': 'No'} ], "type" : {"a": "employee", "b": "officer", "c": "director", "d": "manager", "e": "service provider"} } # 방법1 : key가 존재하지 않으면, 예외가 발생한다. person = d['group2'][0] job = d['type']['b'] print(f'name = {person["name"]}, Age = {person.get("age")}, Type = {job}') # 방법2 : get 으로 접근 시 key가 존재하지 않으면, None가 반환된다. person = d.get('group2')[0] job = d.get('type').get('b') print(f'name = {person["name"]}, Age = {person.get("age")}, Type = {job}') ## 결과 name = Kim, Age = 23, Type = officer name = Kim, Age = 23, Type = officer
2. 추가/수정하기
d = {"group1":[ {'name': 'Park', 'age': '32', 'sex': 'Male'}, {'name': 'Cho', 'age': '44', 'sex': 'Female'}, {'name': 'Kang', 'age': '39', 'sex': 'Female', 'married': 'No'} ], "group2":[ {'name': 'Kim', 'age': '23', 'sex': 'Male', 'married': 'Yes'}, {'name': 'Lee', 'age': '37', 'sex': 'Male', 'married': 'No'} ], "type" : {"a": "employee", "b": "officer", "c": "director", "d": "manager", "e": "service provider"} } # 방법1 d.get('group1').append({'name': 'Jung1', 'age': '22', 'sex': 'Male', 'married': 'Yes'}) d.get('type')['f'] = 'engineer' # 방법2 d.get('group1').append({'name': 'Jung2', 'age': '22', 'sex': 'Male', 'married': 'Yes'}) d.get('type').update(f='engineer') # 방법3 d.get('group1').append({'name': 'Jung3', 'age': '22', 'sex': 'Male', 'married': 'Yes'}) d.get('type').update({'f':'engineer'}) print(d) ## 결과 {'group1': [{'name': 'Park', 'age': '32', 'sex': 'Male'}, {'name': 'Cho', 'age': '44', 'sex': 'Female'}, {'name': 'Kang', 'age': '39', 'sex': 'Female', 'married': 'No'}, {'name': 'Jung1', 'age': '22', 'sex': 'Male', 'married': 'Yes'}, {'name': 'Jung2', 'age': '22', 'sex': 'Male', 'married': 'Yes'}, {'name': 'Jung3', 'age': '22', 'sex': 'Male', 'married': 'Yes'}], 'group2': [{'name': 'Kim', 'age': '23', 'sex': 'Male', 'married': 'Yes'}, {'name': 'Lee', 'age': '37', 'sex': 'Male', 'married': 'No'}], 'type': {'a': 'employee', 'b': 'officer', 'c': 'director', 'd': 'manager', 'e': 'service provider', 'f': 'engineer'}}
최신 댓글