Python의 딕셔너리(Dictionary)는 데이터를 키(key)와 값(value) 쌍으로 저장하는 자료형입니다. 딕셔너리는 데이터 검색, 수정, 추가, 삭제가 빠르고 간단하게 이루어질 수 있도록 설계된 자료구조로, Python 프로그래밍에서 매우 자주 사용됩니다.
0. 딕셔너리 : Dictionary
딕셔너리는 중괄호 {}를 사용하여 생성하며, 각 요소는 키와 값으로 구성됩니다.
키는 고유해야 하며, 불변 객체만 사용할 수 있습니다. 값은 모든 데이터 타입이 가능합니다.
• 키(key): 고유하며 불변 객체(문자열, 숫자, 튜플 등)만 사용 가능. 가변객체(리스트, 딕셔너리)는 사용 불가능.
• 값(value): 모든 데이터 타입 사용 가능하며, 중복 허용.

딕셔너리의 주요 특징
1. 키-값 쌍 저장: 각 키는 고유하며, 이를 통해 데이터를 효율적으로 검색할 수 있습니다.
2. 순서 보장: Python 3.7부터 딕셔너리는 삽입 순서를 유지합니다.
3. 가변성: 딕셔너리는 생성 후에도 수정, 추가, 삭제가 가능합니다.
4. 효율성: 키를 사용한 데이터 검색 속도가 빠릅니다.
1. 딕셔너리 생성 방법
1.1 기본 생성

1.2 dict() 함수 사용

1.3 빈 딕셔너리 생성

2. 딕셔너리의 키(key)와 값(value) 자세히 알아보기
1) 키(key)의 특징
• 불변 객체만 사용 가능: 문자열, 숫자, 튜플 사용 가능.
• 고유성: 딕셔너리에서 동일한 키가 여러 번 지정되면 마지막 값만 유지됩니다.

2) 값(value)의 특징
• 모든 데이터 타입 허용: 값으로 리스트, 딕셔너리 등 가변 객체도 가능.
• 중복 허용: 값은 중복될 수 있으며, 동일한 값을 여러 키에 연결 가능.

3) 키와 값의 관계
• 딕셔너리는 키를 사용하여 값을 빠르게 검색할 수 있는 데이터 구조.
• 키 존재 여부는 in 연산자를 사용해 확인 가능.

3. 딕셔너리 주요 메서드와 활용
1) 값 추가 및 수정

2) 값 삭제
• pop(key): 지정한 키-값 삭제.
• popitem(): 마지막으로 추가된 키-값 삭제.

3) 키가 존재하지 않을 경우 기본값 반환
• get(key, default): 키가 없을 경우 기본값 반환.

4) 딕셔너리 병합
• update(): 다른 딕셔너리의 키-값 추가 또는 업데이트.

5) 딕셔너리 키와 값 추출
• keys(), values(), items() 사용.

4. 딕셔너리 컴프리헨션 : Dictionary Comprihension
딕셔너리 컴프리헨션을 사용하면 간단한 조건이나 규칙에 따라 딕셔너리를 생성할 수 있습니다.

5. 딕셔너리 순회
1) 기본 순회

2) 중첩된 딕셔너리 순회

6. 중첩 딕셔너리
Python에서는 딕셔너리 안에 딕셔너리를 값으로 넣을 수 있습니다. 이를 중첩 딕셔너리(Nested Dictionary)라고 합니다. 딕셔너리 내부의 값으로 또 다른 딕셔너리를 사용하면, 복잡한 계층 구조의 데이터를 효율적으로 표현하고 관리할 수 있습니다.
1. 중첩 딕셔너리 생성
key값으로는 가질 수 없습니다. 반드시 value 값으로 가져야합니다.

2. 중첩 딕셔너리 값 접근
키를 체인 방식으로 접근하여 내부 딕셔너리의 특정 값을 가져올 수 있습니다.

3. 중첩 딕셔너리 값 수정
내부 딕셔너리의 특정 키의 값을 수정할 수 있습니다.

4. 중첩 딕셔너리 값 추가
기존 내부 딕셔너리에 새로운 키-값 쌍을 추가하거나, 외부 딕셔너리에 새로운 내부 딕셔너리를 추가할 수 있습니다.

5. 중첩 딕셔너리 순회
for 루프를 사용하여 중첩 딕셔너리를 순회하면서 키와 값을 처리할 수 있습니다.

출력 결과:

6. 중첩 딕셔너리와 JSON 데이터
중첩 딕셔너리는 JSON(JavaScript Object Notation) 구조와 유사하므로, JSON 데이터를 파이썬 딕셔너리로 쉽게 변환하거나 저장할 수 있습니다.

중첩 딕셔너리 활용 사례
1. 데이터베이스: 사용자 프로필, 상품 카탈로그 등 계층적인 데이터를 저장합니다.
2. 설정 파일: 애플리케이션의 설정 값을 계층적으로 관리합니다.
3. API 응답 처리: REST API의 JSON 응답을 처리합니다.
7. 딕셔너리 사용 시 주의사항
1) 키로 불변 객체만 사용
리스트와 같은 가변 객체는 키로 사용할 수 없습니다. 키로는 문자열, 숫자, 튜플 사용 권장.
2) 중복 키 방지
동일한 키가 여러 번 사용되면 마지막 값만 유지되므로, 중복 키 추가를 방지해야 합니다.
3) 깊은 복사와 얕은 복사
중첩 딕셔너리를 복사할 때는 deepcopy를 사용하여 독립적으로 작업하세요.
4) 키 존재 여부 확인
키가 존재하지 않을 경우 get() 메서드나 in 연산자로 안전하게 접근하세요.
Python 딕셔너리는 데이터를 효율적으로 관리하고 처리할 수 있는 강력한 도구입니다. 다양한 메서드와 활용법을 이해하면 더 유연하고 강력한 프로그램을 작성할 수 있습니다. 이상으로 포스팅 마치겠습니다.
'Language > Python' 카테고리의 다른 글
| <Python>#8 : Python File Processing : 파일 읽기, 쓰기, 관리하기 (5) | 2025.01.06 |
|---|---|
| <Python>#6 : Python Strings : 기본 개념부터 문자열 메서드까지 (1) | 2025.01.06 |
| <Python>#5 : Python Loop : for와 while로 반복 제어하기 (7) | 2025.01.04 |
| <Python>#4 : Python List : 리스트 생성부터 활용까지 (6) | 2025.01.04 |
| <Python>#3 : Python Control Flow : 조건과 논리로 흐름 제어하기 (7) | 2025.01.03 |