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 딕셔너리는 데이터를 효율적으로 관리하고 처리할 수 있는 강력한 도구입니다. 다양한 메서드와 활용법을 이해하면 더 유연하고 강력한 프로그램을 작성할 수 있습니다. 이상으로 포스팅 마치겠습니다.

 

 

 

+ Recent posts