Language/Python

[02-5] Python - 튜플 (tuple)

TechNote.kr 2016. 8. 7. 12:05
728x90

기존에 C와 Java 위주로 코딩을 하다 보니 python에서의 tuple이 새로웠다. 튜플의 정의를 알아보고 다양한 예에 대해 알아보기로 하자.



튜플(Tuple) 의 정의



A tuple is a sequence of immutable(불변의) Python objects.


위와 같이 python의 tuple은 python에서 사용가능한 object의 수정 불가능한 나열이라고 정의가 가능하다. python의 list와 매우 유사하지만 포함된 object의 수정이 불가능하다는 점, 튜플은 괄호 "(", ")"로  표현되는 반면 리스트는 대괄호 "[", "]" 로 표현된다는 점이 다르다. (참고로 괄호 없이 콤마 "," 로만도 튜플의 표현이 가능하다.)


좀 더 상세한 사용 예에 대해 알아보자.



튜플의 표현



# 비어있는 튜플 정의

t = ()


# 숫자를 값으로 가지고 있는 튜플

t = (1, 2, 3, 4)


# 숫자와 문자열을 가지고 있는 튜플

t = (1, 2, "3", "4")


# 괄호 없이 콤마로 표현 가능한 튜플

t = "1", "2", "3", "4"



튜플로의 접근



 튜플로의 접근은 마치 배열에 접근하듯이 대괄호를 이용해 접근하면 된다. 시작점은 index 0부터이다.


>>> t = ('1', '2', 3, 4)

>>> print t[0]
1

>>> print t[1:2]
('2',)

>>> print t[1:3]
('2', 3)

>>> print t[-1]
4

>>> print t
('1', '2', 3, 4)


튜플의 결합



 튜플은 앞에서 언급했던 것과 같이 가지고 있는 Value에 대해서는 수정이 불가능하다. 다만 여러 개의 튜플을 결합하여 새로운 튜플로 만들어 내는 것은 가능하다.


>>> t1 = (1,"2")
>>> t2 = ("3",4)
>>> t3 = t1 + t2
>>> print t3
(1, '2', '3', 4)


튜플의 삭제



 튜플은 내부 element 수정이 불가능하기 때문에 내부 element 만 삭제도 불가능하다. 따라서 튜플 전체 삭제만 가능하다.


>>> t = ("1", "2", 3, 4)
>>> print t
('1', '2', 3, 4)
>>> del t
>>> print t
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 't' is not defined
>>>


728x90