MoonNote

반응형
     

 

 

 

튜플(Tuple)

 튜플은 파이썬에서 사용되는 또 다른 기본 데이터 타입으로 여러 값을 하나의 변수에 저장할 수 있는 자료형입니다. 리스트와 마찬가지로 쉼표(,)로 데이터를 구분지으며 소괄호(())로 데이터를 감싸주어 사용(리스트는 대괄호([]) 사용)합니다. 리스트와 튜플을 알게되면 가변(mutable)과 불변(immutable)에 대해 알아두어야하는데요. 지난 시간 리스트의 경우 가변(mutable) 특성을 가지므로 요소 변경이 가능하다고 설명 드렸습니다. 반대로 튜플의 경우 불변(immutable) 특성을 가지므로 한 번 생성된 후에는 수정, 추가, 삭제가 불가능하다라는 점 숙지하시고 아래의 리스트와 튜플의 비교 예시를 살펴보도록 하겠습니다.

리스트와 튜플 비교 예시

my_list = [1, 2, 3]
my_tuple = (1, 2, 3)

# NOTE : 리스트는 요소를 변경할 수 있음
my_list[0] = 10
print('my_list : ', my_list)

# NOTE : 튜플은 요소를 변경할 수 없음
try:
    my_tuple[0] = 10
except TypeError as e:
    print(e)

 

더보기

my_list :  [10, 2, 3]
'tuple' object does not support item assignment

 

불변(Immutable)의 개념

 튜플의 불변성(Immutability)은 튜플을 생성한 후에는 요소를 변경할 수 없다는 의미입니다. 이 특성 덕분에 튜플은 데이터의 무결성을 보장해야 하는 상황에서 유용합니다. 또한, 튜플은 리스트보다 메모리 사용이 효율적이며, 객체를 고유하게 식별할 수 있는 해시가 가능하여 딕셔너리의 키로 사용할 수 있습니다.

리스트와 튜플 Hash 비교

my_tuple = (1, 2, 3)
print(hash(my_tuple))  # 튜플은 해시 가능

my_list = [1, 2, 3]
try:
    print(hash(my_list))  # 리스트는 해시 불가능
except TypeError as e:
    print(e)

 

더보기

529344067295497451
unhashable type: 'list'

 

소괄호 생략

보신 것처럼 튜플의 경우 위의 설명처럼 값 수정이 되지 않습니다. 따라서 읽기만 가능하기에 읽기 전용 자료를 저장할 때 사용합니다. 소괄호로 사용하지만 사용자에 따라서 어떤 때에는 생략하기도합니다.

소괄호 생략 예시

my_tuple1=(10,20,30)
my_tuple2=10,20,30

print('my_tuple1 : ', my_tuple1)
print('my_tuple2 : ', my_tuple2)

 

더보기

my_tuple1 :  (10, 20, 30)
my_tuple2 :  (10, 20, 30)

 

단일 항목 튜플 쉼표 처리

 단일 항목 튜플 데이터의 경우 뒤에 쉼표(,)를 붙여 처리합니다.

단일 튜플 쉼표 처리 예시

my_tuple1=(10,)
my_tuple2=10,

print('my_tuple1 : ', my_tuple1)
print('my_tuple2 : ', my_tuple2)

 

더보기

my_tuple1 :  (10,)
my_tuple2 :  (10,)

 

 

 

 

 

 

 

 

 

 

※ 이 글이 도움이 되었다면 "👆🏻구독"과 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.

 

공유하기

facebook twitter kakaoTalk kakaostory naver band