이번 포스팅에서는 파이썬 에서 쓰이는 딕셔너리가 무엇인지, 그리고 실무 프로젝트에서 어떻게 사용하는지에 대해 알아보겠습니다.
그 외에 파이썬의 연사자 와 함수 에 대해 궁금하시면 아래 포스팅을 같이 참고해주세요
✅ 연산자 문법 정리
[ 파이썬 ] 비교 연산자 문법 정리 ( ==, !=, >, <, >=, <= ) 및 예제
[파이썬] 산술 연산자 문법 정리 ( + , - , * , / , % , **, // ) 및 예제
[ 파이썬 ] 논리 연산자 문법 정리 ( AND,OR,NOT ) 및 예제
[ 파이썬 ] 할당 연산자 문법 정리 ( =,+=,-=,/=,//=,%=,*=,**= ) 및 예제
✅ 함수 문법 정리
[ 파이썬 ] len() 함수 사용법 및 실제 프로젝트 예제
[ 파이썬 ] join() 함수 사용법 및 실제 프로젝트 예제
✅ 개념 정리
[ 파이썬] 리스트(List) 와 튜플(Tuple) 의 차이점 및 실무 예제
[ 파이썬 ] 반복문의 종류, 기본 문법 및 실무 프로젝트 예제
[ python ] 실무예제로 배우는 파이썬 예외 처리 방법
# 1. 딕셔너리( Dictionary ) 란?
파이썬 딕셔너리(Dictionary)는 키(key)와 값(value)의 쌍으로 이루어진 데이터 구조입니다.
파이썬에서 딕셔너리는 중괄호 {} 로 정의되며, 각 키와 값은 콜론 : 으로 구분됩니다.
딕셔너리는 순서가 없으며, 키를 통해 값에 접근할 수 있는 구조를 가집니다.
딕셔너리는 매우 유연하고 다양한 형태의 데이터를 저장하고 관리하는 데 적합합니다.
딕셔너리 기본예제
# 딕셔너리의 기본 예제
person = {"name": "John", "age": 30, "city": "New York"}
- { key : value } : 딕셔너리는 키(key)와 값(value) 쌍으로 이루어져 있습니다.
# 2. 파이썬 딕셔너리의 주요 특징 및 생성 방법
딕셔너리는 다음과 같은 주요 특징을 가집니다
- 변경 가능성: 리스트처럼 딕셔너리의 값은 수정 가능하지만, 키는 고유해야 하며 중복될 수 없습니다.
- 순서 없음: 파이썬 3.7 이전에는 딕셔너리가 순서를 유지하지 않았지만, 3.7 이후부터는 삽입된 순서를 유지합니다.
- 키 값의 타입: 키는 변경할 수 없는 자료형(숫자, 문자열, 튜플 등)이어야 하지만, 값은 어떠한 자료형도 가능합니다.
파이썬에서 딕셔너리를 생성하는 다양한 방법이 있습니다. 대표적인 방법은 직접 중괄호 {} 를 사용하는 것과 dict() 함수를 사용하는 방법입니다.
생성 방법
# 기본적인 딕셔너리 생성 방법
my_dict = {"a": 1, "b": 2}
# dict() 함수를 사용하는 방법
my_dict = dict(a=1, b=2)
또, 리스트나 튜플을 이용해 딕셔너리를 생성할 수도 있습니다.
리스트를 이용한 딕셔너리 생성방법
# 리스트를 이용한 딕셔너리 생성
my_dict = dict([("a", 1), ("b", 2)])
# 3.딕셔너리 값에 접근하는 방법
딕셔너리 값에 접근하려면 키를 사용해야 합니다. 파이썬에서는 대괄호 [] 또는 get() 메서드를 사용하여 값을 가져올 수 있습니다.
딕셔너리 값 접근 방법
person = {"name": "Alice", "age": 25}
# 대괄호를 사용한 접근
print(person["name"]) # 출력: Alice
# get() 메서드를 사용한 접근
print(person.get("age")) # 출력: 25
- get() 메서드는 존재하지 않는 키를 조회할 때 None을 반환하거나 기본값을 설정할 수 있는 장점이 있습니다.
# 4. 딕셔너리 수정 및 업데이트
딕셔너리 값을 수정하거나 새롭게 추가할 때는 기존의 키를 이용해 값을 할당하면 됩니다. 또한 update() 메서드를 사용하여 한 번에 여러 값을 추가하거나 수정할 수 있습니다.
딕셔너리 값 추가 및 수정 방법
person = {"name": "Alice", "age": 25}
# 값 수정
person["age"] = 26
# 새 항목 추가
person["city"] = "London"
# update() 메서드로 여러 값 수정 및 추가
person.update({"age": 27, "country": "UK"})
# 5. 딕셔너리 요소 삭제 방법
딕셔너리 요소를 삭제하는 방법은 여러 가지가 있습니다. 대표적으로 del 키워드와 pop() 메서드를 사용할 수 있습니다.
딕셔너리 요소 삭제 방법
person = {"name": "Alice", "age": 25, "city": "London"}
# del 키워드를 이용한 삭제
del person["city"]
# pop() 메서드를 이용한 삭제
age = person.pop("age")
- pop()은 삭제한 값을 반환할 수 있다는 장점이 있습니다.
# 6. 딕셔너리 실무 프로젝트 활용 예제
딕셔너리는 실무에서 다양한 방식으로 활용됩니다. 예를 들어, 제품의 재고 관리, 사용자 데이터 관리 , API 응답 처리 등에서 유용하게 쓰입니다.
🚩 제품의 재고 관리 🚩
제품의 재고를 추가하고 수정하고, 값을 불러오는 과정에서 사용됩니다.
제품 재고관리 예제
# 재고 관리 예제
inventory = {"apple": 50, "banana": 100, "orange": 75}
# 특정 품목의 재고 추가
inventory["apple"] += 20
🚩 사용자 데이터 관리 🚩
사용자의 데이터를 관리할 때도 딕셔너리를 활용할 수 있습니다. 예를 들어, 사용자의 이름, 이메일, 주소 등의 정보를 딕셔너리에 저장하여 관리할 수 있습니다.
사용자 데이터 예제
user = {
"name": "John Doe",
"email": "john@example.com",
"address": "123 Main St"
}
# 정보 수정
user["email"] = "john.doe@example.com"
🚩 API 응답 처리 🚩
딕셔너리는 API 응답에서 JSON 형식의 데이터를 처리할 때 유용하게 사용됩니다. 다음은 딕셔너리를 사용해 API 응답을 처리하는 간단한 예제입니다.
API 응답 처리 예제
import requests
response = requests.get("https://api.example.com/data")
data = response.json()
# 딕셔너리 형태로 데이터를 확인
print(data["key"])
# 7. 딕셔너리의 중첩 구조
딕셔너리는 다른 딕셔너리를 값으로 가질 수 있습니다. 이를 중첩 딕셔너리라고 하며, 다차원 데이터를 표현할 때 유용합니다
중첩 딕셔너리 예제
# 중첩된 딕셔너리
students = {
"student1": {"name": "John", "age": 22},
"student2": {"name": "Alice", "age": 23}
}
# 중첩된 값에 접근
print(students["student1"]["name"]) # 출력: John
# 8.딕셔너리와 리스트 비교
딕셔너리와 리스트는 파이썬에서 자주 사용되는 데이터 구조이지만, 그 구조와 용도가 다릅니다.
- 리스트: 순서가 있으며, 인덱스를 통해 값에 접근합니다.
- 딕셔너리: 키-값 쌍으로 이루어져 있으며, 키를 통해 값에 접근합니다.
# 리스트는 인덱스를 사용
my_list = [1, 2, 3]
print(my_list[0]) # 출력: 1
# 딕셔너리는 키를 사용
my_dict = {"a": 1, "b": 2}
print(my_dict["a"]) # 출력: 1
# 9.딕셔너리와 JSON 데이터
딕셔너리는 JSON 데이터 형식과 유사합니다. 파이썬의 json 모듈을 사용하여 JSON과 딕셔너리 간의 변환이 가능합니다.
딕셔너리와 JSON 변환 방법
import json
# 딕셔너리를 JSON으로 변환
person_dict = {"name": "John", "age": 30}
person_json = json.dumps(person_dict)
# JSON을 딕셔너리로 변환
person_dict_again = json.loads(person_json)
- 딕셔너리와 JSON 은 서로 변환할 수 있습니다.
# 10.딕셔너리 관련 함수와 메서드
파이썬에서는 딕셔너리와 관련된 다양한 함수와 메서드를 제공합니다. 자주 사용하는 몇 가지를 정리 해보도록 하겠습니다.
- keys() : 딕셔너리의 모든 키를 반환
- values() : 딕셔너리의 모든 값을 반환
- items() : 키-값 쌍을 튜플로 반환
- clear() : 모든 항목을 삭제
# 11. 마무리
파이썬 딕셔너리는 유연하면서도 강력한 데이터 구조로, 다양한 실무 상황에서 유용하게 사용됩니다. 이번 포스팅에서는 딕셔너리의 정의부터 생성, 수정, 활용 방법까지 알아보았습니다. 딕셔너리는 특히 데이터 관리와 처리에서 큰 장점을 제공하며, 이를 잘 활용하면 효율적인 프로그래밍을 할 수 있습니다.
이 글이 딕셔너리를 이해하고 실무 프로젝트에 활용하는 데 도움이 되길 바랍니다.
추가 질문이나 궁금한 사항이 있다면 댓글로 남겨주세요!