IT

[파이썬 기초] 자료구조(2) - 튜플

생각파워 2018. 12. 4. 17:22

튜플은 리스트와 비슷한 자료구조이다.

가장 큰 차이는 리스트는 변경이 가능하지만, 리스트는 불변한다는 것이다.

더 풀어서 얘기하면, 리스트는 추가, 수정, 삭제가 가능하지만, 튜플은 한번 정의된 후에는 추가, 수정, 삭제를 할 수 없다.

그래서 튜플을 상수의 리스트라고 얘기하기도 한다.

 

1. 튜플 생성

튜플을 생성할 때는 변수에 여러개의 값을 콤마로 구분해서 할당하면 된다.

아래와 같이...

>>> t_tuple = 'SUN','MON'
>>> t_tuple
('SUN', 'MON')
>>> type(t_tuple)
<class 'tuple'>


튜플의 정의를 더 명확하게 해주기 위해서 괄호를 추가해 주는것이 좋다.

>>> t_tuple = ('SUN','MON')

 

2. 튜플 활용

튜플을 이용해 여러변수에 값을 한번에 할당할 수 있다.

두 변수의 값을 교환하는것도 임시변수를 사용하지 않고 바로 할 수 있다.

>>> t_tuple
('SUN', 'MON')
>>> t_sun, t_mon = t_tuple          # 한 튜플에 있는 두개의 값을 두 변수로 할당
>>> t_sun                           # 튜플에 있는 값을 여러변수로 할당하는것을 튜플언패킹이라 한다.
'SUN'
>>> t_mon
'MON' 


>>> t_sun,t_mon = t_mon,t_sun       # 두 값을 교환하는것도 임시변수 사용하지 않고 바로 가능
>>> t_sun
'MON'
>>> t_mon
'SUN'

 

3. 튜플을 사용하는 이유

1) 실수로 항목을 손상시킬수 없어 안전하다.

2) 함수의 인자들은 튜플로 전달된다.

3) 딕셔너리의 키로 사용할 수 있다.

4) 리스트보다 적은 용량을 차지한다.

 

4)의 내용을 제외한 1), 2), 3) 항목은 튜플이 불변이기 때문에 할 수 있는 일들이다.

이런 이유때문에 리스트가 더 큰 활용성을 가지고 있음에도 불변해야하는 자료형에는 튜플이 사용되는 것이다. 

 

반응형