Notice
Recent Posts
Recent Comments
Link
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Tags
more
Archives
Today
Total
관리 메뉴

민수야, 너도 할 수 있어

Python 공부 (5) - 자료형(튜플) 본문

언어/python

Python 공부 (5) - 자료형(튜플)

devpola 2020. 1. 30. 16:00

자료형 - 튜플(Tuple)

    튜플은 리스트와 같이 다양한 요소들의 모음이다. 그리고 리스트의 사용방법과 비슷하다. 하지만, 몇 가지의 차이점들이 있다. 아래에서 리스트와 튜플의 차이점들을 살펴보겠다.



튜플과 리스트의 차이점

  • () 로 요소들을 감싼다.
t1 = ()
t2 = (2,)    #t2 = 2, 와 같다
t3 = (1,2,3)
t4 = 1,2,3
t5 = ('a',1,('ab','cd'))

    위의 t2의 경우처럼 튜플이 하나의 요소만을 가질 때, 요소 뒤에 콤마(,)를 반드시 붙여야 한다. 그리고 t4의 경우처럼 괄호를 생략해도 된다.

  • 요소값의 변경(추가, 삭제, 수정 등)이 가능하지 않다.

    이를 immutable(불변) 한 자료형이라 한다. 나중에 mutable(가변)과 immutable에 대해 따로 다루어볼 예정이다. 튜플의 요소값을 변경할 수 없다는 특징을 이용하여 프로그램이 실행되는 동안 그 값이 변하면 안되는 데이터가 필요하다면 튜플을 사용하면 된다.



튜플의 요소값들을 삭제 및 변경 할 때 발생하는 오류

  1. del 함수를 이용해 요소를 삭제할 때
t = (1,2,'a')
del t[0]    #TypeError: 'tuple' object doesn't support item deletion
  1. 인덱싱을 이용해 요소값을 변경하려 할 때
t = (1,2,'a')
t[0] = 'c'    #TypeError: 'tuple' object does not support item assignment

    모두 형 오류(TypeError)가 발생한다.



튜플의 인덱싱과 슬라이싱 및 연산

     튜플의 값을 변화시킬 수 없다는 점과 위의 차이점들을 제외하면, 리스트의 인덱싱, 슬라이싱, +,- 연산은 튜플에서도 똑같이 사용할 수 있다. 또한, 앞서 다룬 리스트 관련함수들 중, 값을 변경시키는 함수들을 제외한 함수들은 튜플에서도 똑같이 사용할 수 있다.



    이번 글에서는 python의 자료형 중, 튜플 자료형에 대해 공부해봤다. 다음에는 딕셔너리 자료형에 대해 공부해볼 것이다. 참고로, 저자는 공부자료로 박응용 저자의 점프 투 파이썬 책을 이용하고 있다. 이는 구글에서도 무료로 볼 수 있으니 공부에 참고하길 바란다.