본문 바로가기

Python 기초 배우기/비전공자도 배우는 파이썬 기초

08. 파이썬 튜플(Tuple) 자료형

 

 

#튜플 #튜플자료형 #tuple #파이썬튜플 #데이터변경불가 #리스트와튜플차이

 

 

 

파이썬 자료형의 종류
1. 숫자형
2. 문자열 자료형
3. 리스트 자료형
4. 튜플 자료형 ◀(이번 장에서 배울 내용)
5. 딕셔너리 자료형
6. 집합 자료형
7. 불 자료형

 

튜플(Tuple) 자료형은 리스트(List) 자료형과

몇 가지를 제외하곤 동일한 문법을 갖고 있습니다.

 

그래서 리스트와 비교하며 학습하겠습니다.

 

 

<튜플과 리스트의 차이점>

1. 자료형 표시 방법 : 리스트 [ ] / 튜플 ( )

2. 튜플은 값을 생성/삭제/수정 할 수 없음

 

 

포인트는 값을 변경할 수 있는지 없는지입니다.

 

데이터를 관리할 때 해당 데이터가 변경되지 않아야 한다면

튜플(Tuple)을 사용하면 되지만

 

데이터가 추가되거나 변경돼야 한다면

리스트(List)를 사용해야 됩니다.

 

아래 표를 반복해서 보면서 자료형에 익숙해 지세요~

 

파이썬 자료형 비교(리스트 List / 튜플 Tuple / 딕셔너리 Dic / 집합 Set)

 

튜플 (Tuple)

리스트와 유사하지만 생성/삭제/수정 불가

(순서가 있음, 수정할 수 없음)

튜플명 = (요소1, 요소2, 요소3, ...)

 


 

튜플(Tuple) 자료형을 입력해보겠습니다.

 

a = ()  #값이 없는 튜플
print(a)

b = (1,2,3)  #숫자가 입력된 튜플
print(b)

c = ("Tu", "pl", "e")  #문자가 입력된 튜플
print(c)

d = ("Tu", "pl", "e", 10, 20)  #문자+숫자 같이 입력된 튜플
print(d)

e = (1,2,('T',3))  #튜플 안에 입력된 튜플
print(e)

# 여기까지는 리스트(List)와 모든것이 동일합니다.


##### result #####

()
(1, 2, 3)
('Tu', 'pl', 'e')
('Tu', 'pl', 'e', 10, 20)
(1, 2, ('T', 3))

 

 

리스트에는 없는 튜플 입력 방법이 있습니다.

 

T1 = (1,)
print(T1)

T2 = 1,2,3 #괄호 없이도 콤마(,)로 입력하면 튜플로 저장
print(T2)

T3 = 1,    #요소 1개만 입력할 때도 콤마(,) 를 붙이면 튜플로 저장됨
print(T3)

T3 = 1     #콤마(,) 가 없으면 숫자형으로 저장 
print(T3)


##### result #####

(1,)
(1, 2, 3)
(1,)
1

 

 

튜플의 사용방법을 알아보았습니다.

 

리스트에서 실습해봤던

인덱싱과 슬라이싱도 튜플에서 동일하게 사용됩니다.

 

못 보셨거나 까먹으셨으면 아래 링크 참고해 주세요~

 

 

07. 파이썬 리스트(List) 자료형

​ 파이썬의 기초인 자료형은 내용이 많습니다. 단순하고 지루할 수도 있지만 가장 중요한 기초이기에 반복하면서 익숙해지면 좋겠습니다. ​ 지금까지 배운 숫자형과 문자열 자료형은 여러 가

planharry.tistory.com

 

 

튜플의 문법이 리스트와 모두 동일한데

변경만 안된다고 말씀드렸는데요~

 

튜플의 삭제 및 수정을 하면 어떻게 되는지 해보겠습니다.

T4 = (1,2,3,4)
del T4[0]    #값을 삭제하는 del 함수를 사용하니 오류 메시지가 뜹니다.


##### result #####

Traceback (most recent call last):
  File "main.py", line 33, in <module>
    del T4[0]
TypeError: 'tuple' object doesn't support item deletion
   → 튜플은 삭제를 지원하지 않는다네요.

 

 

T5 = (1,2,3,4)
T5[0] = 'a'   #인덱싱을 사용하여 값을 변경해보려 했으나 오류 메시지가 뜹니다.


##### result #####

Traceback (most recent call last):
  File "main.py", line 33, in <module>
    T5[0] = 'a'
TypeError: 'tuple' object does not support item assignment
   → 튜플은 할당를 지원하지 않는다네요.

 

 

이렇게 튜플 자료형으로 데이터가 저장되면

생성/삭제/수정할 수가 없습니다!

 

추후에 제어문을 하거나 데이터관리 시에

자료형 분리에 필요하니

튜플은 수정이 안된다! 이것만 기억하세요~