조금씩 꾸준히 완성을 향해

[Python] Tuple (튜플) 본문

Python/문법

[Python] Tuple (튜플)

all_sound 2022. 8. 24. 14:59

 

여러 개의 데이터를 하나로 묶는 데 사용되는 데이터 타입 중 하나이다. 

 

리스트와 유사하지만, 한번 생성하면 그 이후에는 항목을 추가, 삭제, 변경할 수 없다는 게 가장 큰 특징이다. 

 

 

< Tuple 생성 >

t1 = ()
print(type(t1)) # <class 'tuple'>

t2 = tuple()
print(type(t2)) # <class 'tuple'>

t3 = 1, 2, 3, 4
print(type(t3)) # <class 'tuple'>

튜플의 기본 형태는 () 소괄호이지만, 생략이 가능하다. 

참고로 원래 Python에서는 모든 데이터에 소괄호가 존재하는데 생략되어 쓰인다고 한다.  

 

따라서 항목을 하나만 갖는 튜플을 생성할 때에는 구분을 위해 반드시 콤마(,)를 붙여 사용해야 한다.

 

a = (1)
print(type(a)) # <class 'int'>
b = (1,)
print(type(b)) # <class 'tuple'>

c = 1
print(type(c)) # <class 'int'>
d = 1, # <class 'tuple'>
print(type(d))

 

 a = 1 과 a = (1) 은 같은 식이며 type은 당연히 정수(int)이다.

 a = 1,  혹은 a = (1,) 와 같이 콤마를 붙여야지만 type이 tuple로 나오니 주의하자!

 

 

 

< Tuple Method >

 

위에서 언급했듯이 튜플은 추가, 삭제, 변경이 불가능하기 때문에 리스트에서 쓰던 여러 함수들을 사용할 수 없다. 

 

제한적으로 index(), count() 같이 요소를 변경하지 않는 메소드는 사용 가능하다. 

 

 

○ index()

a = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5)

print(a.index(8))  #3

 

 count()

a = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5)

print(a.count(5))  #2

 

 

그 밖에 슬라이싱, length 구하기, 튜플끼리 더하기 및 곱하기 등 몇몇 기능들을 사용할 수 있다.

 

a = (1,2,3)
b = (1,2,3,4)

print(b[1:3]) #(2, 3)
print(a+b) #(1, 2, 3, 1, 2, 3, 4)
print(a*2) #(1, 2, 3, 1, 2, 3)
print(len(b)) #4