본문 바로가기
프로그래밍

파이썬 기초 강의 1-7: 딕셔너리와 집합

by 코드금융 2025. 1. 13.
728x90
반응형

 

 

Python 기초 강의 1-7: 딕셔너리와 집합

효율적인 데이터 관리, 딕셔너리와 집합 배우기

1. 딕셔너리와 집합이란?

Python의 딕셔너리와 집합은 데이터를 효율적으로 저장하고 관리할 수 있는 데이터 구조입니다.

  • 딕셔너리: 키(key)와 값(value) 쌍으로 데이터를 저장합니다.
  • 집합: 고유한 값들의 모음으로, 중복을 허용하지 않습니다.

2. 딕셔너리 사용법

2.1 딕셔너리 선언

딕셔너리는 중괄호({})를 사용해 선언합니다.

# 딕셔너리 선언
student = {"name": "철수", "age": 20, "major": "컴퓨터공학"}
print(student)  # 출력: {'name': '철수', 'age': 20, 'major': '컴퓨터공학'}
        

2.2 값 접근 및 수정

키를 사용해 값을 가져오거나 수정할 수 있습니다.

# 값 접근
print(student["name"])  # 출력: 철수

# 값 수정
student["age"] = 21
print(student)  # 출력: {'name': '철수', 'age': 21, 'major': '컴퓨터공학'}
        

2.3 키와 값 추가/삭제

# 값 추가
student["grade"] = "A"
print(student)  # 출력: {'name': '철수', 'age': 21, 'major': '컴퓨터공학', 'grade': 'A'}

# 값 삭제
del student["major"]
print(student)  # 출력: {'name': '철수', 'age': 21, 'grade': 'A'}
        

3. 집합 사용법

3.1 집합 선언

집합은 중괄호({})를 사용하며, 중복값을 허용하지 않습니다.

# 집합 선언
fruits = {"사과", "바나나", "체리"}
print(fruits)  # 출력: {'사과', '바나나', '체리'}
        

3.2 값 추가 및 삭제

# 값 추가
fruits.add("오렌지")
print(fruits)  # 출력: {'사과', '바나나', '체리', '오렌지'}

# 값 삭제
fruits.remove("바나나")
print(fruits)  # 출력: {'사과', '체리', '오렌지'}
        

3.3 집합 연산

집합은 교집합, 합집합, 차집합 등의 연산을 지원합니다.

set1 = {1, 2, 3}
set2 = {3, 4, 5}

# 교집합
print(set1 & set2)  # 출력: {3}

# 합집합
print(set1 | set2)  # 출력: {1, 2, 3, 4, 5}

# 차집합
print(set1 - set2)  # 출력: {1, 2}
        

4. 실습: 딕셔너리와 집합 활용

학생들의 과목 선택 정보를 관리하는 프로그램을 작성해 봅시다.

# 딕셔너리와 집합 활용
students = {
    "철수": {"수학", "영어"},
    "영희": {"영어", "과학"},
    "민수": {"수학", "과학"}
}

# 모든 과목 출력
all_subjects = set()
for subjects in students.values():
    all_subjects.update(subjects)
print(f"모든 과목: {all_subjects}")  # 출력: {'수학', '영어', '과학'}

# 특정 과목 선택 학생
math_students = {name for name, subjects in students.items() if "수학" in subjects}
print(f"수학을 선택한 학생: {math_students}")  # 출력: {'철수', '민수'}
        

5. 요약

이번 강의에서는 Python 딕셔너리와 집합의 정의, 주요 사용법, 그리고 활용 사례를 배웠습니다. 딕셔너리는 키-값 형태의 데이터를 저장하고, 집합은 고유한 값을 관리하는 데 유용합니다.

다음 강의 예고

1-8 강의: Python 파일 입출력을 학습합니다!

728x90
반응형