본문 바로가기
IT/파이썬 Python

집합과 딕셔너리로 파이썬 입문 완성하기

by SidePower 2024. 10. 30.

 

파이썬에는 여러 데이터를 효율적으로 관리할 수 있는 구조가 있어요.

그중 딕셔너리(Dictionary)와 집합(Set)은

데이터를 유용하게 정리하고 빠르게 찾을 수 있는 방법을 제공합니다.

 

이번 글에서는 딕셔너리와 집합의 차이와 활용법을 살펴보며,

간단한 예제 프로그램까지 만들어볼 거예요.

 

딕셔너리(Dictionary)의 구조와 활용

딕셔너리는 Key-Value(키-값) 쌍으로 데이터를 저장하는 자료구조입니다.

키를 사용해 빠르게 값을 찾을 수 있기 때문에,

전화번호부회원 정보처럼 고유한 키를 가지고 있는 데이터를 다룰 때 유용해요.

# 딕셔너리 생성과 활용 예시
phone_book = {
    "철수": "010-1234-5678",
    "영희": "010-9876-5432",
    "민수": "010-1111-2222"
}

# 데이터 조회
print(phone_book["철수"])  # 010-1234-5678

# 데이터 추가
phone_book["수진"] = "010-3333-4444"

# 데이터 삭제
del phone_book["민수"]

print(phone_book)  
# {'철수': '010-1234-5678', '영희': '010-9876-5432', '수진': '010-3333-4444'}

 

집합(Set)의 특징과 활용

집합은 중복을 허용하지 않는 데이터를 저장할 수 있는 자료구조예요.

데이터가 고유해야 할 때교집합, 합집합 연산을 할 때 유용합니다.

# 집합 생성과 활용 예시
fruits = {"사과", "바나나", "체리"}
print(fruits)  # {'사과', '바나나', '체리'}

# 데이터 추가
fruits.add("오렌지")
print(fruits)  # {'사과', '바나나', '체리', '오렌지'}

# 데이터 삭제
fruits.remove("바나나")
print(fruits)  # {'사과', '체리', '오렌지'}

# 합집합과 교집합
more_fruits = {"체리", "수박", "포도"}
print(fruits | more_fruits)  # 합집합: {'사과', '체리', '오렌지', '수박', '포도'}
print(fruits & more_fruits)  # 교집합: {'체리'}

 

 

예제: 전화번호부 만들기

이제 딕셔너리를 활용해 간단한 전화번호부 프로그램을 만들어볼게요.

# 전화번호부 프로그램
phone_book = {}

while True:
    name = input("이름을 입력하세요 (종료하려면 '끝'): ")
    if name == "끝":
        break
    number = input(f"{name}의 전화번호를 입력하세요: ")
    phone_book[name] = number

# 전화번호부 출력
print("\n전화번호부:")
for name, number in phone_book.items():
    print(f"{name}: {number}")

 

집합으로 중복 제거 예제

집합은 중복된 데이터를 자동으로 제거하는 특성을 활용할 수 있어요.

# 학생 이름 중복 제거하기
students = ["철수", "영희", "민수", "철수", "영희"]
unique_students = set(students)

print(unique_students)  # {'철수', '영희', '민수'}

 

반응형

댓글