딕셔너리(Dictionary)는 파이썬에서 가장 유용한 데이터 구조 중 하나로, 키(key)와 값(value) 쌍으로 데이터를 저장합니다. 딕셔너리는 빠른 검색, 추가, 수정, 삭제 작업을 지원하며, 다양한 상황에서 데이터를 효율적으로 관리하는 데 사용됩니다. 이번 포스팅에서는 파이썬에서 딕셔너리를 사용하는 기본적인 방법과 활용 사례를 알아보겠습니다.

1. 딕셔너리란?

딕셔너리는 키와 값의 쌍을 저장하는 데이터 구조입니다. 각 키는 고유하며, 해당 키를 통해 연결된 값을 빠르게 조회할 수 있습니다. 딕셔너리는 중괄호 {}를 사용하여 정의되며, 콜론 :을 사용하여 키와 값을 구분합니다.

1.1. 딕셔너리 생성

딕셔너리를 생성하는 방법은 다음과 같습니다.

# 빈 딕셔너리 생성
my_dict = {}

# 키-값 쌍을 포함한 딕셔너리 생성
my_dict = {
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

print(my_dict)  # 출력: {'name': 'Alice', 'age': 25, 'city': 'New York'}

2. 딕셔너리 요소 접근

딕셔너리에서 특정 키의 값을 조회하려면 대괄호 []를 사용하거나 get() 메서드를 사용할 수 있습니다.

2.1. 키로 값 조회

name = my_dict["name"]
print(name)  # 출력: Alice

2.2. get() 메서드 사용

get() 메서드는 키가 존재하지 않을 때 기본값을 반환할 수 있어 안전한 접근 방법입니다.

age = my_dict.get("age", "Unknown")
print(age)  # 출력: 25

# 키가 존재하지 않을 때
state = my_dict.get("state", "Unknown")
print(state)  # 출력: Unknown

3. 딕셔너리 요소 추가 및 수정

딕셔너리에서 요소를 추가하거나 수정하는 방법은 매우 간단합니다. 특정 키에 값을 할당하면 됩니다.

3.1. 요소 추가

my_dict["state"] = "New York"
print(my_dict)  # 출력: {'name': 'Alice', 'age': 25, 'city': 'New York', 'state': 'New York'}

3.2. 요소 수정

my_dict["age"] = 26
print(my_dict)  # 출력: {'name': 'Alice', 'age': 26, 'city': 'New York', 'state': 'New York'}

4. 딕셔너리 요소 삭제

딕셔너리에서 특정 키-값 쌍을 삭제하려면 del 키워드를 사용하거나 pop() 메서드를 사용할 수 있습니다.

4.1. del 키워드 사용

del my_dict["state"]
print(my_dict)  # 출력: {'name': 'Alice', 'age': 26, 'city': 'New York'}

4.2. pop() 메서드 사용

pop() 메서드는 삭제된 값도 반환합니다.

city = my_dict.pop("city")
print(city)  # 출력: New York
print(my_dict)  # 출력: {'name': 'Alice', 'age': 26}

4.3. 모든 요소 삭제

모든 요소를 삭제하려면 clear() 메서드를 사용합니다.

my_dict.clear()
print(my_dict)  # 출력: {}

5. 딕셔너리 순회

딕셔너리를 순회하면서 각 키와 값을 처리할 수 있습니다.

5.1. 키 순회

my_dict = {"name": "Alice", "age": 26, "city": "New York"}

for key in my_dict:
    print(key)

5.2. 값 순회

for value in my_dict.values():
    print(value)

5.3. 키와 값 동시에 순회

for key, value in my_dict.items():
    print(f"{key}: {value}")

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

6.1. keys(), values(), items()

  • keys(): 딕셔너리의 모든 키를 반환합니다.
  • values(): 딕셔너리의 모든 값을 반환합니다.
  • items(): 딕셔너리의 모든 키-값 쌍을 반환합니다.
keys = my_dict.keys()
values = my_dict.values()
items = my_dict.items()

print(keys)  # 출력: dict_keys(['name', 'age', 'city'])
print(values)  # 출력: dict_values(['Alice', 26, 'New York'])
print(items)  # 출력: dict_items([('name', 'Alice'), ('age', 26), ('city', 'New York')])

6.2. update()

update() 메서드는 다른 딕셔너리 또는 키-값 쌍을 추가하거나 업데이트합니다.

my_dict.update({"email": "alice@example.com", "age": 27})
print(my_dict)  # 출력: {'name': 'Alice', 'age': 27, 'city': 'New York', 'email': 'alice@example.com'}

6.3. setdefault()

setdefault() 메서드는 키가 존재하지 않을 경우 기본값을 설정하고, 그 값을 반환합니다.

age = my_dict.setdefault("age", 30)
print(age)  # 출력: 27

state = my_dict.setdefault("state", "New York")
print(state)  # 출력: New York

7. 딕셔너리 컴프리헨션

리스트 컴프리헨션과 마찬가지로, 딕셔너리 컴프리헨션을 사용하여 간결하게 딕셔너리를 생성할 수 있습니다.

7.1. 기본 사용법

squares = {x: x**2 for x in range(1, 6)}
print(squares)  # 출력: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

7.2. 조건부 딕셔너리 컴프리헨션

조건부 표현식을 사용하여 특정 조건을 만족하는 요소만 포함할 수 있습니다.

evens = {x: x**2 for x in range(1, 11) if x % 2 == 0}
print(evens)  # 출력: {2: 4, 4: 16, 6: 36, 8: 64, 10: 100}

8. 딕셔너리의 활용 예시

딕셔너리는 다양한 상황에서 유용하게 활용될 수 있습니다. 몇 가지 실용적인 예시를 살펴보겠습니다.

8.1. 단어 빈도수 계산

텍스트에서 각 단어의 빈도수를 계산하는 방법을 알아보겠습니다.

text = "apple banana apple strawberry banana apple"

word_counts = {}

for word in text.split():
    word_counts[word] = word_counts.get(word, 0) + 1

print(word_counts)  # 출력: {'apple': 3, 'banana': 2, 'strawberry': 1}

8.2. 그룹별 데이터 집계

학생들의 점수를 과목별로 집계하는 예시입니다.

scores = [
    {"name": "Alice", "subject": "Math", "score": 85},
    {"name": "Bob", "subject": "Math", "score": 90},
    {"name": "Alice", "subject": "English", "score": 78},
    {"name": "Bob", "subject": "English", "score": 82},
]

subject_totals = {}

for entry in scores:
    subject = entry["subject"]
    score = entry["score"]
    subject_totals[subject] = subject_totals.get(subject, 0) + score

print(subject_totals)  # 출력: {'Math': 175, 'English': 160}

결론

이번 포스팅에서는 파이썬의 딕셔너리를 사용하는 방법과 다양한 활용 사례를 살펴보았습니다. 딕셔너리는 키-값 쌍으로 데이터를 관리하는 강력한 데이터 구조로, 빠른 검색과 효율적인 데이터 처리를 가능하게 해줍니다. 파이썬의 딕셔너리 기능을 잘 활용하면 복잡한 데이터 관리 작업도 간단히 해결할 수 있습니다. 다양한 예제를 통해 딕셔너리 사용법을 익히고, 실무

에서 효과적으로 활용해 보세요!


이 글을 통해 파이썬의 딕셔너리 활용법을 이해하고, 실습을 통해 이를 사용하는 방법을 익힐 수 있을 것입니다. 다양한 데이터를 처리하며 딕셔너리의 강력함을 경험해 보세요!

+ Recent posts