[Python] 파이썬 자료 구조 - tuple

haejun-kim·2020년 6월 21일
0

[Python]

목록 보기
3/19
post-thumbnail

tuple()

튜플은 ,로 구분된 값으로 이루어지는 불변 시퀀스 타입이다.

>>> a = ()
>>> type(a)
<class 'tuple'>
>>> a = tuple()
>>> a
()
>>> type(a)
<class 'tuple'>

tuple()은 값을 변경하거나 삭제 할 수 없다. 단지 쓸 수만 있다.

리스트와 가장 다른 점이라고 할 수 있겠다. 불변 시퀀스 타입이기 때문에 값을 변경하거나 삭제할 수 없다.

>>> a = [1,2,3,4,5]
>>> b = (1,2,3,4,5)
>>> type(a), type(b)
(<class 'list'>, <class 'tuple'>)
>>> a[0] = 9
>>> a
[9, 2, 3, 4, 5]
>>> b[0] = 9
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    b[0] = 9
TypeError: 'tuple' object does not support item assignment

a 는 리스트 b 는 튜플 타입임을 확인했다.
그리고 a의 0번째 인덱스를 9로 정의하니 인덱스 내용이 정상적으로 변경 되었다.
하지만 b 를 같은 방법으로 정의하려고 하자 에러가 발생한다.
이게 가장 큰 차이점이라고 할 수 있다.

>>> b = 1,2,3,4,5
>>> b
(1, 2, 3, 4, 5)

변수 하나에 여러 값을 집어 넣어도 튜플 형태이다.

>>> b = 1
>>> b
1
>>> b = 1,
>>> b
(1,)
>>> type(b)
<class 'tuple'>

하나짜리 튜플을 생성할 때에는 ,로 구분지어주면 생성이 된다. ,없이 하나의 요소만 달랑 변수에 입력하려고 하면 그냥 그 값이 변수에 저장된다.

사용법

패킹 : 튜플로 만드는 작업
언패킹 : 튜플에서 값을 꺼내는 작업

패킹

튜플화 시키는 것

>>> a = 1,2,3,4
>>> a
(1, 2, 3, 4)

언패킹

튜플에서 값을 꺼내는 것

>>> a1, a2, a3, a4 = a
>>> a1
1
>>> a2
2
>>> a3
3
>>> a4
4

튜플 메소드

튜플에서 사용하는 메소드

count()

A.count(x)는 튜플 A에 담긴 항목 x의 갯수를 반환한다.

>>> a = 1, 5, 7, 8, 9, 4, 1, 4
>>> a.count(4)
2

index()

index(x) 메소드는 항목 x의 인덱스 위치를 반환한다.

>>> a = 1, 5, 7
>>> a.index(5)
1

인덱싱

리스트와 똑같다.

>>> a = 1,2,3
>>> a[0]
1
>>> a[0:2]
(1, 2)

0개의 댓글