튜플(Tuple)은 여러 개의 값을 하나의 변수에 저장할 수 있는 Python의 자료형 중 하나이다.
튜플은 변경할 필요가 없는 데이터를 저장하거나 여러 개의 값을 한 변수에 저장하는 경우에 사용하면 유용하다. 또한, 함수에서 여러 개의 값을 반환할 때, 리스트보다 빠른 속도를 원할 때에도 사용할 수 있다.
순서유지
리스트와 마찬가지로 요소가 저장된 순서를 유지하기 때문에 인덱싱과 슬라이싱이 가능하다.
변경 불가능(Immutable)
한 번 생성된 튜플의 요소는 변경, 추가, 삭제할 수 없다.
중복 허용
동일한 값을 여러 개 저장할 수 있다.
소괄호() 사용
튜플은 소괄호를 사용하여 정의한다. 단, 튜플을 만들 때 () 없이도 ,만 사용하면 자동으로 튜플로 인식된다.
# 소괄호 () 사용
t1 = (1, 2, 3)
t2 = ("apple", "banana", "cherry")
print(t1) # 출력: (1, 2, 3)
print(t2) # 출력: ('apple', 'banana', 'cherry')
,만 사용t3 = 1, 2, 3
print(t3) # 출력: (1, 2, 3)
# 요소가 하나인 경우에는 쉼표가 필수
t4 = (5,) # 쉼표(,) 없으면 튜플이 아닌 정수로 인식됨
print(t4) # 출력: (5,)
not_tuple = (5) # 튜플이 아니라 그냥 숫자 5
print(not_tuple) # 출력: 5
# 튜플 Packing (한 변수에 여러 개의 값 저장)
person = ("Alice", 25, "Developer")
# 튜플 Unpacking (각 변수에 나누어 저장)
name, age, job = person
print(name) # 출력: Alice
print(age) # 출력: 25
print(job) # 출력: Developer
def get_info():
return "Alice", 25, "Developer" # 튜플 반환
info = get_info()
print(info) # 출력: ('Alice', 25, 'Developer')
name, age, job = get_info() # 튜플 언패킹
print(name, age, job) # 출력: Alice 25 Developer
# 리스트 → 튜플 변환
list_data = [1, 2, 3]
tuple_data = tuple(list_data)
print(tuple_data) # 출력: (1, 2, 3)
# 튜플 → 리스트 변환
tuple_data = (4, 5, 6)
list_data = list(tuple_data)
print(list_data) # 출력: [4, 5, 6]
zip()을 활용한 튜플 생성names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 22]
people = list(zip(names, ages))
print(people) # 출력: [('Alice', 25), ('Bob', 30), ('Charlie', 22)]