본문 바로가기
IT/Python Basic

[Python] 튜플, 딕셔너리, 집합 개념 정리 특집

by Echinacea 2025. 2. 28.
반응형

Python에서 자주 사용되는 튜플(tuple), 딕셔너리(dict), **집합(set)**의 개념과 차이점을 정리했습니다.


 

 

🔍 튜플, 딕셔너리, 집합(set) 비교표

자료형 변경 가능 여부 중복 허용 순서 유지 접근 방법

튜플 (tuple) ❌ 불변(immutable) ✅ 허용 ✅ 유지 인덱싱(tuple[i])
딕셔너리 (dict) ✅ 변경 가능 ❌ 키 중복 불가 ✅ 유지(3.7부터) 키(dict[key])
집합 (set) ✅ 변경 가능 ❌ 중복 불가 ❌ 순서 없음 요소 검색(in 연산)

 

 

1️⃣ 튜플 (tuple)

👉 리스트와 비슷하지만, 한 번 생성하면 변경할 수 없음!

# 튜플 생성
my_tuple = (1, 2, 3, 4, 5)

# 요소 접근
print(my_tuple[0])  # 출력: 1

# 튜플은 불변이므로 아래 코드 실행 시 에러 발생
# my_tuple[0] = 10  # ❌ TypeError 발생

 

언제 사용?

  • 값이 변경되지 않아야 하는 경우 (좌표, 색상 값 등)
  • 여러 개의 값을 한 번에 저장할 때 (return 값으로 여러 개 반환할 때 유용)

 

 

2️⃣ 딕셔너리 (dict)

👉 key-value(키-값) 형태로 데이터를 저장하며, 키는 중복될 수 없음!

# 딕셔너리 생성
my_dict = {"name": "Alice", "age": 25, "city": "Seoul"}

# 값 접근
print(my_dict["name"])  # 출력: Alice

# 값 변경 가능
my_dict["age"] = 26
print(my_dict)  # {'name': 'Alice', 'age': 26, 'city': 'Seoul'}

# 새로운 키-값 추가
my_dict["job"] = "Engineer"
print(my_dict)  # {'name': 'Alice', 'age': 26, 'city': 'Seoul', 'job': 'Engineer'}

 

언제 사용?

  • 키를 기반으로 값을 빠르게 검색해야 할 때 (예: 회원 정보 관리, JSON 데이터)

 

 

3️⃣ 집합 (set)

👉 중복을 허용하지 않으며, 순서가 없음!

# 집합 생성
my_set = {1, 2, 3, 4, 5, 5, 5}  # 중복된 5는 자동 제거됨

# 요소 추가
my_set.add(6)
print(my_set)  # {1, 2, 3, 4, 5, 6}

# 요소 제거
my_set.remove(3)
print(my_set)  # {1, 2, 4, 5, 6}

# 집합 연산 (교집합, 합집합, 차집합)
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}

 

언제 사용?

  • 중복된 요소를 자동으로 제거해야 할 때 (list(set(my_list))로 중복 제거 가능)
  • 수학적 집합 연산을 수행할 때 (교집합, 합집합 등)

 

 

🚀 요약

  1. 튜플 (tuple): 불변(immutable), 순서 있음, 변경 불가능 → 안전하게 저장할 때 사용
  2. 딕셔너리 (dict): 키-값 저장 구조, 빠른 검색 → 연관된 데이터를 저장할 때 사용
  3. 집합 (set): 중복 허용 안 함, 순서 없음중복 제거 및 집합 연산에 사용

 

📌 튜플은 리스트처럼 쓰지만 변경이 불가능하고,
📌 딕셔너리는 키를 이용해 빠르게 검색할 수 있으며,
📌 집합은 중복을 자동으로 제거하고 집합 연산이 가능하다는 점을 기억하세요

반응형

댓글