본문 바로가기
Program/Python

Python 기초 :: 튜플(tuple) 정의 및 응용

by 시레엔 2017. 8. 21.
반응형

안녕하세요.

이전 파이썬 포스팅에서는 List 함수에 대해서 정리를 했는데, 이번에는 그와 비슷한 Tuple 함수에 대해서 정리하고 설명하려고 합니다.

사용자의 경험이나 능력에 따라 튜플을 잘 응용해서 쓰는 분도 있겠지만, 리스트 함수와 너무 비슷해서 왜 비슷한 두가지가 함수로 정의되어 있는지는 의문으로 남아있습니다.


먼저 리스트와 튜플은 괄호의 차이점이 있습니다. 

이전 포스팅에서도 언급되었듯이, List는 "[]"와 같은 대괄호를 이용하여 정의를 하지만, Tuple은 "()"을 이용하여 정의를 합니다. 그리고 리스트에서의 추가, 삭제, 수정 등을 자유자재로 할 수 있지만, 튜플은 앞에서 언급된 행위를 할 수 없습니다. 그 예를 아래의 글상자 창에서 보여드리도록 하겠습니다.


튜플(Tuple)의 정의 및 삭제, 변경


먼저, 리스트와 비슷하게 튜플 함수를 이용하여 하나의 변수를 만들어 보도록 하겠습니다.


>>> a= (11,)

>>> a= 11,22,33

>>> a= (11,22,33)


위와 같이 튜플 함수는 리스트와 비슷하나, 튜플 내의 요소 하나만 추가하더라도 콤마가 따라오게 되는 불편함이 있습니다.(사용자가 생각했을때는 불편한 기호 같습니다.) 또한, 반대로 괄호를 제외하고, 요소와 콤마를 이용해서 정의를 해도 튜플 함수로 정의가 되어집니다. 3번째 예제는 일반적으로 적용하는 부분이기 때문에, 설명을 생략하도록 하겠습니다.


>>> a= (11,22,33)

>>> del a[0]

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: 'tuple' object doesn't support item deletion


>>> a[0] = 'abc'

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: 'tuple' object does not support item assignment


위에서도 언급했지만, 튜플은 삭제, 변경에 대한 행위가 적용되지 않는다고 했습니다. 혹시나 하는 분들을 위해 예제를 올려봅니다.


튜플(Tuple)의 응용


이번에는 튜플 함수를 이용하여 더하기, 곱하기, 인덱싱, 슬라이싱을 예제로 보여드리려고 합니다.


>>> a= (11,22,33)

>>> a[0]

11

>>> a[1:]

(22,33)

>>> b=('a','b')

>>> a + b

(11,22,33,'a','b')

>>> b*2

('a','b','a','b')


이전 포스팅과 비슷한 응용 방법입니다.

기존에 정의되었던 a라는 변수에 대한 0번자리의 요소를 도출하거나 1번 이후부터 도출하는 슬라이싱은 많이 보셔서 더 잘 아실 것이라고 생각합니다. 또한, 더하기나 곱하기도 위의 예제를 보시면 더 쉽게 접근할 수 있을 것이라고 생각합니다.


오늘은 간단하게 여기까지 포스팅을 하도록 하겠습니다.


반응형

댓글