[파이썬] 튜플

Dragony·2020년 4월 1일
0

파이썬

목록 보기
7/14

튜플(tuple)은 리스트와 거의 비슷하고, 다른 점은 다음과 같다.

  • 리스트는 []로 둘러 쌓이지만 튜플은 ()로 둘러 쌓인다.
  • 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.(immutable)

튜플 생성


>>> t1=()
>>> t2=(1,)
>>> t3=(1,2,3)
>>> t4=1,2,3
>>> t5=('a','b',('ab','cd'))

리스트와 모습은 거의 비슷하지만 튜플에서는 리스트와 다른 2가지 차이점을 찾아볼 수 있다.

t2=(1,) 처럼 단지 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야 한다는 점이다.
그리고 t4=1,23 처럼 괄호()를 생략해도 무방하다는 점이다.

튜플과 리스트의 가장 큰 차이는 값을 변화시킬 수 있는가 없는가이다.

즉, 리스트 내의 값들은 삭제,수정 등의 변화가 가능하고 튜플의 값들은 불가능하다.
따라서 프로그램이 실행되는 동안 그 값이 항상 변하지 않기를 바란다거나 값이 바뀔까 걱정하고 싶지 않다면 튜플을 사용한다.

  1. 튜플 요소 값 삭제 시 오류

>>> t1=(1,2,'a','b')
>>> del t1[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object doesn't support item deletion

튜플은 item deletion이 지원되지 않는다는 메세지를 확인할 수 있다.

  1. 튜플 요소 값 변경 시 오류

>>> t1[0]='c'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

마찬가지로 오류가 발생한다.

튜플의 인덱싱과 슬라이싱, 더하기(+)와 곱하기(*)

튜플의 값은 변화시킬 수 없다는 점만 제외하면 리스트와 완전히 동일하다.

인덱싱하기


>>> t1=(1,2,'a','b')
>>> t1[0]
1

슬라이싱 하기


>>> t1[1:]
(2, 'a', 'b')

튜플 더하기


>>> t2=(3,4)
>>> t1+t2
(1, 2, 'a', 'b', 3, 4)

튜플 곱하기


>>> t2*3
(3, 4, 3, 4, 3, 4)
profile
안녕하세요 :) 제 개인 공부 정리 블로그입니다. 틀린 내용 수정, 피드백 환영합니다.

0개의 댓글