Python 튜플: 불변 시퀀스 및 압축 풀기

Python 튜플을 이해합니다. 목록에 대해 튜플을 사용하는 경우, 튜플 압축 해제 작동 방식, 불변성이 데이터 안전을 보장하는 방법을 알아보세요.

에디터에서 사용해 보세요

개요

튜플은 Python에서 순서가 지정되고 변경할 수 없는 요소 시퀀스입니다. 대괄호 `[]`로 묶어서 변경할 수 있는 리스트와 달리 튜플은 괄호 `()`로 묶어서 일단 생성되면 수정할 수 없습니다. 튜플의 요소를 추가, 추가, 삭제 또는 재할당하려고 하면 런타임 오류가 발생합니다. 이러한 불변성은 안전 기능의 역할을 하여 애플리케이션 주위로 전달되는 데이터가 일정하고 안전하게 유지되도록 보장합니다.

튜플은 불변이기 때문에 리스트보다 빠르고 메모리를 덜 사용합니다. 또한 해시 가능합니다(튜플의 모든 요소가 해시 가능한 경우). 이를 통해 사전의 키 또는 세트의 요소로 사용할 수 있습니다. 기능 목록은 지원하지 않습니다. 튜플은 전통적으로 데이터베이스 행, 좌표 또는 RGB 색상 값을 나타내는 등 이질적인 데이터 레코드를 그룹화하는 데 사용됩니다.

튜플의 가장 우아한 기능 중 하나는 Tuple Unpacking입니다. 이를 통해 튜플의 요소를 한 줄의 개별 변수에 할당할 수 있습니다(예: `x, y = 좌표`). 함수에서 여러 값을 반환할 때 많이 사용됩니다. 또한 Python에서는 임시 세 번째 변수 없이 압축 풀기(`a, b = b, a`)를 사용하여 변수를 동적으로 교환할 수 있으므로 코드가 훨씬 깔끔하고 따라가기 쉬워집니다.

코드 및 실행 출력

좌표를 튜플로 생성하고, 불변성 한계를 보여주고, 요소를 언패킹합니다.

# Creating tuples
location = (40.7128, -74.0060)  # NYC Coordinates
print(f"Latitude: {location[0]}, Longitude: {location[1]}")

# Tuple unpacking
lat, lon = location
print(f"Unpacked Lat: {lat} | Unpacked Lon: {lon}")

# Function returning multiple values
def get_user_info():
    return "Alice", 25, "admin"

name, age, role = get_user_info()
print(f"{name} ({role}) is {age} years old.")
터미널 출력
Latitude: 40.7128, Longitude: -74.006
Unpacked Lat: 40.7128 | Unpacked Lon: -74.006
Alice (admin) is 25 years old.

단계별 구현

  • 도우미 함수에서 여러 값을 깔끔하게 반환
  • 좌표, 색상 또는 데이터베이스 레코드와 같은 상수 저장
  • 다차원 매핑을 위한 불변 사전 키 정의

자주 묻는 질문

단일 요소가 있는 튜플을 어떻게 정의합니까?

요소 뒤에는 후행 쉼표를 포함해야 합니다(예: Single_item = (42,)). 쉼표가 없으면 Python은 이를 표준 괄호 표현식으로 처리합니다.

튜플 안에 중첩된 목록을 수정할 수 있나요?

그렇습니다. 튜플 참조 자체는 변경할 수 없지만 목록과 같은 변경 가능한 개체가 포함된 경우 해당 목록의 내용을 제자리에서 수정할 수 있습니다.

관련 주제

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.