본문 바로가기

Python

[Python] 파이썬 튜플 자료형

반응형

파이썬의 튜플(tuple) 자료형은 리스트와 비슷한 자료형이지만 한번 결정된 요소는 바꿀 수 없다는 점이 다릅니다. 또한 여러 데이터를 한번에 리턴할 수 있기 때문에 함수와 함께 많이 사용되는 자료형입니다. 그럼 튜플에 대해서 알아봅시다.

 

튜플 형식

(데이터1, 데이터2, 데이터3, ...)

>>> tuple = (1, 2, 3)
>>> tuple
(1, 2, 3)
>>> tuple[0]
1
>>> tuple[1]
2
>>> tuple[2]
3

튜플은 괄호 안에 데이터를 쉼표로 연결하여 선언할 수 있습니다. 인덱스를 통해 데이를 가져올 수 있습니다.

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

하지만 위와 같이 기존 데이터를 바꾸지는 못합니다.

 

괄호없이 변수 선언과 할당

튜플의 또다른 특징은 괄호없이도 변수를 선언하고 할당할 수 있습니다.

>>> tuple = 1, 2, 3, 4
>>> tuple
(1, 2, 3, 4)
>>> tuple[0]
1
>>> tuple[1]
2
>>> tuple[2]
3
>>> tuple[3]
4

위 예제처럼 tuple 변수에 괄호 없이 데이터를 할당해도 tuple 변수에는 tuple 자료형이 입력된 것을 확인하실 수 있습니다. 아래와 같이 각각의 변수에 하나씩 할당하는 것도 가능합니다.

>>> a, b, c = 1, 2, 3
>>> a
1
>>> b
2
>>> c
3

위 형식을 응용하면 아래와 같이 쉽게 변수의 값들을 바꿀 수 있습니다.

>>> a, b = 1, 3
>>> b, a = a, b
>>> a
3
>>> b
1

 

위와 같이 swap 기능도 쉽고 간편하게 구현할 수 있습니다.

 

튜플을 함수 리턴에 활용하기

튜플은 함수에서 여러 개의 값을 리턴하고 싶을때 사용됩니다.

>>> def multiple_return():
...		return 10, 20
...
>>> multiple_return()
(10, 20)
>>> a, b = multiple_return()
>>> a
10
>>> b
20

위 예제처럼 함수의 리턴값을 여러개 넘겨주고 싶을때 튜플 자료형을 활용합니다.

반응형