오류해결 같이해요/python

[ 파이썬 ] 파이썬 딕셔너리 란? (문법 정리 및 실무프로젝트 예제 포함)

Rio - Moon 2024. 9. 10. 18:55
728x90
반응형

파이썬 문법 배너

 

 

이번 포스팅에서는 파이썬 에서 쓰이는 딕셔너리가  무엇인지, 그리고 실무 프로젝트에서 어떻게 사용하는지에 대해 알아보겠습니다.

 

 

그 외에 파이썬의 연사자 와 함수 에 대해 궁금하시면 아래 포스팅을 같이 참고해주세요

[ 파이썬 ] 반복문의 종류, 기본 문법 및 실무 프로젝트 예제

 

[ 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. 마무리

 

파이썬 딕셔너리는 유연하면서도 강력한 데이터 구조로, 다양한 실무 상황에서 유용하게 사용됩니다. 이번 포스팅에서는 딕셔너리의 정의부터 생성, 수정, 활용 방법까지 알아보았습니다. 딕셔너리는 특히 데이터 관리와 처리에서 큰 장점을 제공하며, 이를 잘 활용하면 효율적인 프로그래밍을 할 수 있습니다.

이 글이 딕셔너리를 이해하고 실무 프로젝트에 활용하는 데 도움이 되길 바랍니다. 

 

추가 질문이나 궁금한 사항이 있다면 댓글로 남겨주세요!

 

반응형