Post

파이썬 데이터 구조: 딕셔너리(Dictionary)

딕셔너리의 특징과 활용 방법

딕셔너리(Dictionary)는 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 파이썬의 데이터 구조입니다. 빠른 검색 속도와 구조화된 데이터를 관리할 수 있는 강력한 도구입니다. 이번 글에서는 딕셔너리의 특징활용 방법을 알아보겠습니다.

1. 딕셔너리란?

  • 키-값 쌍(Key-Value Pair): 데이터를 키로 검색하고, 값으로 저장합니다.
  • 변경 가능(Mutable): 데이터 추가, 수정, 삭제 가능.
  • 중괄호({}): 딕셔너리를 정의할 때 사용.

예제

1
2
3
4
5
6
7
8
9
# 딕셔너리 생성
person = {
    "name": "Alice",
    "age": 25,
    "job": "Engineer"
}

print(person)
# 출력: {'name': 'Alice', 'age': 25, 'job': 'Engineer'}

2. 딕셔너리의 주요 특징

1) 고유한 키

  • 딕셔너리의 키는 고유해야 하며, 중복을 허용하지 않습니다.

2) 키의 데이터 타입

  • 키는 불변(Immutable) 타입(문자열, 숫자, 튜플 등)이어야 합니다.

3) 값의 데이터 타입

  • 값은 모든 데이터 타입을 허용합니다.

예제

1
2
3
4
5
6
7
# 다양한 데이터 타입의 키와 값
data = {
    1: "one",
    "two": 2,
    (3, 4): "tuple_key"
}
print(data)

3. 딕셔너리의 주요 메서드

메서드설명예제결과
get()키에 해당하는 값을 반환d.get('key')
keys()모든 키 반환d.keys()dict_keys([...])
values()모든 값 반환d.values()dict_values([...])
items()키-값 쌍 반환d.items()dict_items([(k, v), ...])
update()딕셔너리 병합d.update({'key': 'value'}){...}
pop()키에 해당하는 값 제거 및 반환d.pop('key')
clear()모든 요소 제거d.clear(){}

예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
person = {"name": "Alice", "age": 25}

# 값 가져오기
print(person.get("name"))  # 출력: Alice

# 키와 값 리스트
print(person.keys())       # 출력: dict_keys(['name', 'age'])
print(person.values())     # 출력: dict_values(['Alice', 25])

# 키-값 쌍 리스트
print(person.items())      # 출력: dict_items([('name', 'Alice'), ('age', 25)])

# 요소 추가 및 업데이트
person.update({"job": "Engineer"})
print(person)              # 출력: {'name': 'Alice', 'age': 25, 'job': 'Engineer'}

4. 딕셔너리의 활용

1) 데이터 추가 및 수정

1
2
3
4
5
6
7
8
9
person = {"name": "Alice"}

# 데이터 추가
person["age"] = 25
print(person)  # 출력: {'name': 'Alice', 'age': 25}

# 데이터 수정
person["name"] = "Bob"
print(person)  # 출력: {'name': 'Bob', 'age': 25'}

2) 데이터 삭제

1
2
3
4
5
6
7
8
9
10
person = {"name": "Alice", "age": 25, "job": "Engineer"}

# 특정 키 삭제
del person["job"]
print(person)  # 출력: {'name': 'Alice', 'age': 25}

# pop()으로 삭제
age = person.pop("age")
print(age)     # 출력: 25
print(person)  # 출력: {'name': 'Alice'}

3) 반복문과 딕셔너리

1
2
3
4
5
6
7
8
# 키와 값을 순회
person = {"name": "Alice", "age": 25}

for key, value in person.items():
    print(f"{key}: {value}")
# 출력:
# name: Alice
# age: 25

4) 딕셔너리 컴프리헨션

  • 딕셔너리를 간결하게 생성할 수 있는 구문.
1
2
3
squared = {x: x**2 for x in range(1, 6)}
print(squared)
# 출력: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

5. 딕셔너리 vs 리스트

특징딕셔너리(Dictionary)리스트(List)
구조키-값 쌍
검색 속도키로 빠르게 검색 가능순차적으로 검색 필요
수정 가능 여부가능가능
사용 사례구조화된 데이터 저장 및 검색순서가 중요한 데이터 저장

정리

  • 딕셔너리는 키-값 쌍으로 데이터를 저장하며, 빠른 검색 속도와 구조화된 데이터 관리에 유용합니다.
  • 메서드를 사용하여 데이터 추가, 삭제, 수정, 검색 작업을 효율적으로 수행할 수 있습니다.
  • 반복문 및 딕셔너리 컴프리헨션으로 데이터 처리를 간단하게 구현 가능합니다.

다음 글 예고:
파이썬 데이터 구조 중 마지막으로 “세트(Set)”의 특징과 활용 방법을 살펴보겠습니다!

This post is licensed under CC BY 4.0 by the author.