파이썬로드

파이썬 리스트 자료형, 튜플 자료형, 튜플은 어떻게 만들까?

CODINGLORD 2024. 7. 1. 14:02

튜플 자료형

튜플 사용 이유

  1. 불변성 (Immutability):
    • 튜플은 한 번 생성되면 변경할 수 없습니다. 따라서 데이터의 무결성을 보장해야 하는 상황에서 유용합니다.
    • 예를 들어, 함수의 매개변수로 전달된 데이터가 변경되지 않도록 하려면 튜플을 사용할 수 있습니다.
  2. 성능 (Performance):
    • 튜플은 리스트보다 메모리 사용량이 적고, 접근 속도가 더 빠릅니다.
    • 데이터가 변경되지 않는 경우, 리스트 대신 튜플을 사용하면 성능이 향상될 수 있습니다.
  3. 데이터 구조 (Data Integrity):
    • 튜플을 사용하면 실수로 데이터를 변경하는 것을 방지할 수 있습니다.
    • 중요한 설정값이나 상수 데이터를 저장할 때 유용합니다.
  4. 데이터의 혼합 (Heterogeneous Data):
    • 튜플은 서로 다른 데이터 타입을 혼합하여 저장할 수 있습니다.
    • 예를 들어, (이름, 나이, 성별)과 같은 서로 다른 데이터 타입을 하나의 튜플로 저장할 수 있습니다.
  5. 딕셔너리 키 (Dictionary Keys):
    • 튜플은 불변하기 때문에 딕셔너리의 키로 사용할 수 있습니다.
    • 리스트는 가변적이기 때문에 딕셔너리의 키로 사용할 수 없습니다.

 

튜플은 어떻게 만들까?

튜플은 소괄호 ()를 사용하여 생성합니다. 요소는 쉼표 ,로 구분합니다.

 

예제 1

tuple1 = (1, 2, 3)
print(tuple1)  # (1, 2, 3)

 

예제 2

tuple2 = ("apple", "banana", "cherry")
print(tuple2)  # ("apple", "banana", "cherry")

 

튜플의 요솟값을 지우거나 변경하려고 하면 어떻게 될까?

튜플은 불변(immutable) 자료형이므로, 한 번 생성된 후에는 요소를 지우거나 변경할 수 없습니다. 이를 시도하면 오류가 발생합니다.

1. 튜플 요솟값을 삭제하려 할 때

예시 1

tuple1 = (1, 2, 3)
del tuple1[1]  # TypeError: 'tuple' object doesn't support item deletion

 

Traceback (most recent call last):
File "<pyshell#7>", line 1, in </pyshell#7>
del tuple1[1]
TypeError: 'tuple' object doesn't support item deletion

 

예시 2

tuple2 = ("apple", "banana", "cherry")
del tuple2[0]  # TypeError: 'tuple' object doesn't support item deletion

 

2. 튜플 요솟값을 변경하려 할 때

예시 1

tuple1 = (1, 2, 3)
tuple1[1] = 4  # TypeError: 'tuple' object does not support item assignment

 

TypeError: 'tuple' object does not support item assignment
SyntaxError: multiple statements found while compiling a single statement

 

튜플 다루기

인덱싱하기

튜플의 특정 위치에 있는 요소를 가져오는 방법입니다.

tuple1 = (1, 2, 3)
print(tuple1[0])  # 1
tuple2 = ("apple", "banana", "cherry")
print(tuple2[2])  # "cherry"

 

슬라이싱하기

튜플의 일부분을 가져오는 방법입니다. 슬라이싱의 기본 형태는 tuple[start:end]입니다. start는 시작 인덱스, end는 끝 인덱스(포함되지 않음)입니다.

 

예제 1

tuple1 = (1, 2, 3, 4, 5)
print(tuple1[1:3])  # (2, 3)

 

예제2

tuple2 = ("apple", "banana", "cherry", "date")
print(tuple2[:2])  # ("apple", "banana")

 

 

튜플 더하기

두 튜플을 더하면, 두 튜플이 결합되어 새로운 튜플이 만들어집니다.

예제 1

tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
result = tuple1 + tuple2
print(result)  # (1, 2, 3, 4, 5, 6)

 

예제2

tuple3 = ("apple", "banana")
tuple4 = ("cherry", "date")
result = tuple3 + tuple4
print(result)  # ("apple", "banana", "cherry", "date")

 

 

튜플 곱하기

튜플을 정수와 곱하면, 튜플이 그 정수만큼 반복됩니다.

예제 1

tuple1 = (1, 2, 3)
result = tuple1 * 2
print(result)  # (1, 2, 3, 1, 2, 3)

 

예제2

tuple3 = ("apple", "banana")
result = tuple3 * 3
print(result)  # ("apple", "banana", "apple", "banana", "apple", "banana")

튜플 길이 구하기

튜플의 요소 개수를 반환합니다.

tuple1 = (1, 2, 3, 4)
length = len(tuple1)
print(length)  # 4