상세 컨텐츠

본문 제목

[ Python 기초 문법 ] - 자료형(4) - 튜플 자료형

Language/Python

by bing_su 2021. 2. 27. 20:11

본문

반응형
SMALL

이번에 다룰 자료형은 튜플(tuple)이다. 튜플은 리스트와 거의 비슷하나 조금은 다르다.

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

튜플의 모습은 아래와 같다.

>>> t1 = ()
>>> t2 = (1,)  # 1개의 요소만 가질 때는 요소 뒤에 콤마(,)를 붙여야 한다.
>>> t3 = (1, 2, 3)
>>> t4 = 1, 2, 3  # 괄호()를 생략해도 무방하다.
>>> t5 = ('a', 'b', ('ab', 'cd'))

튜플과 리스트의 가장 큰 차이는 값을 변화시킬 수 있는가 여부이다. 리스트의 항목 값은 변화가 가능하지만 튜플의 항목 값은 변화가 불가능하다. 따라서 프로그램이 실행되는 동안 그 값이 변하지 않도록 하기 위해서는 튜플을 사용하는 것이 좋다. 반대로 수시로 그 값을 변화시켜야 할 경우 리스트를 사용해야 한다. 실제 프로그램에서는 값이 변경되는 변수의 형태를 훨씬 많이 사용하기 때문에 평균적으로는 튜플보다는 리스트를 더 많이 사용한다.

< 튜플 요솟값을 지우거나 변경하려 할 경우 >

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

튜플의 요소를 리스트처럼 del 함수로 지우려고 하면, 튜플은 요소를 지우는 행위가 지원되지 않는다는 형 오류(TypeError) 메시지를 확인할 수 있다.

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

튜플 요솟값을 변경하려 해도 형 오류가 발생하는 것을 볼 수 있다.

[ 튜플 다루기 ]

튜플은 값을 변화시킬 수 있다는 것 외에는 리스트와 완전히 동일하다. 각 기법의 자세한 것은 이 링크를 참고하자.

< 인덱싱 (indexing) >

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

< 슬라이싱 (slicing) >

>>> t1 = (1, 2, 'a', 'b')
>>> t1[1:]  # t1[1]부터 끝까지 슬라이싱
(2, 'a', 'b')

< 튜플 더하기 (+) >

>>> t1 = (1, 2, 'a', 'b')
>>> t2 = (3, 4)
>>> t1 + t2  # 두 튜플을 합친다.
(1, 2, 'a', 'b', 3, 4)

< 튜플 곱하기 (*) >

>>> t1 = (1, 2)
>>> t1 * 3  # 튜플 t1을 세 번 반복한다.
(1, 2, 1, 2, 1, 2)

< 튜플 길이 구하기 >

>>> t1 = (1, 2, 'a', 'b')
>>> len(t1)
4

 

반응형
LIST

관련글 더보기

댓글 영역