파이썬/자료형

파이썬 자료형 - 튜플

kimble2 2024. 7. 30. 21:19
반응형

 

안녕하세요

 

이번에는 파이썬 자료형 중에 튜플에 대해서 알아 보도록 하겠습니다

 

파이썬에서 튜플(tuple)은 여러 개의 값을 저장할 수 있는 불변(immutable) 시퀀스 자료형입니다. 튜플은 값이 한 번 정해지면 변경할 수 없습니다. 대괄호([])로 감싸는 리스트와 달리, 튜플은 소괄호(())로 감싸서 표현합니다. 튜플은 리스트와 비슷한 기능을 제공하지만, 불변성을 가지므로 값의 변경이 필요 없는 경우에 사용됩니다.

튜플의 생성

튜플은 소괄호를 사용하거나 쉼표로 구분된 값을 나열하여 생성할 수 있습니다.

# 빈 튜플
empty_tuple = ()

# 하나의 요소를 가진 튜플 (쉼표를 반드시 사용)
single_element_tuple = (42,)

# 여러 요소를 가진 튜플
multiple_elements_tuple = (1, 2, 3)

# 다른 자료형의 요소를 가진 튜플
mixed_tuple = (1, "hello", 3.14, True)

# 튜플을 생성할 때 소괄호는 생략 가능
tuple_without_parentheses = 1, 2, 3
 

튜플의 접근과 슬라이싱

튜플의 요소에 접근하거나 부분을 가져오기 위해 리스트와 같은 방식으로 인덱싱과 슬라이싱을 사용할 수 있습니다.

t = (1, 2, 3, 4, 5)

# 인덱싱
print(t[0])  # 출력: 1
print(t[1])  # 출력: 2
print(t[-1]) # 출력: 5

# 슬라이싱
print(t[1:4])  # 출력: (2, 3, 4)
print(t[:3])   # 출력: (1, 2, 3)
print(t[2:])   # 출력: (3, 4, 5)
 

튜플의 불변성

튜플은 불변이기 때문에 생성 후에는 요소를 변경할 수 없습니다. 다음과 같은 작업은 오류를 발생시킵니다.

t = (1, 2, 3)

# 요소 변경 시도 (오류 발생)
# t[0] = 10  # TypeError: 'tuple' object does not support item assignment
 

튜플 사용 예

여러 값의 반환

함수에서 여러 값을 반환할 때 튜플을 사용할 수 있습니다.

def get_min_max(numbers):
    return min(numbers), max(numbers)

min_val, max_val = get_min_max([3, 8, 1, 6, 0])
print(f'Min: {min_val}, Max: {max_val}')  # 출력: Min: 0, Max: 8
 

튜플 언패킹

튜플을 사용하여 여러 변수에 값을 한 번에 할당할 수 있습니다.

t = (1, 2, 3)
a, b, c = t
print(a, b, c)  # 출력: 1 2 3

# 튜플 언패킹을 이용한 변수 교환
a, b = b, a
print(a, b)  # 출력: 2 1
 

불변성 요구 상황

데이터의 무결성을 유지하기 위해 값이 변경되지 않도록 해야 하는 경우 튜플을 사용합니다. 예를 들어, 좌표와 같은 고정된 데이터는 튜플로 표현하는 것이 좋습니다.

# 2D 좌표를 나타내는 튜플
point = (10, 20)

# 점의 좌표를 변경할 수 없도록 튜플 사용
# point[0] = 30  # TypeError: 'tuple' object does not support item assignment
 

튜플 메서드

튜플은 리스트에 비해 제한된 메서드를 제공하지만, 여전히 몇 가지 유용한 메서드가 있습니다.

t = (1, 2, 3, 2, 4, 2)

# 요소의 개수 세기
print(t.count(2))  # 출력: 3

# 요소의 인덱스 찾기
print(t.index(3))  # 출력: 2
 
 

튜플의 장점

  1. 불변성: 튜플은 변경할 수 없기 때문에 데이터의 무결성을 보장할 수 있습니다.
  2. 메모리 사용 효율: 리스트보다 메모리 사용이 효율적입니다.
  3. 읽기 전용: 데이터 변경을 방지하고 싶을 때 사용합니다.
  4. 사용 용이성: 튜플을 사용하여 코드의 명확성과 안전성을 높일 수 있습니다.

튜플은 리스트와 함께 파이썬에서 중요한 시퀀스 자료형 중 하나로, 다양한 상황에서 유용하게 사용됩니다.

 

반응형

'파이썬 > 자료형' 카테고리의 다른 글

파이썬 자료형 - 집합(set)  (0) 2024.07.30
파이썬 자료형 - 딕셔너리  (0) 2024.07.30
파이썬 자료형 - 리스트  (0) 2024.07.30
파이썬 자료형 - 문자형  (0) 2024.07.27
파이썬 자료형 - 숫자형  (0) 2024.07.27