본문 바로가기
Development/Python

[Python] 파이썬 예제 - 데이터 형식 - 튜플 Tuple

by 푸민 2020. 9. 12.
반응형

안녕하세요 푸민입니다.

튜플은 리스트와 비슷하지만 다른점이 있습니다. 튜플로 설정하면 값을 변경할 수 없습니다. 리스트는 원할때 삭제하고 수정하고 추가할 수 있지만 튜플은 상수와 같이 변경이 불가능한 값입니다.


1. 튜플 생성 - ()

>>> tuple = ()
>>> tuple
()
>>> tuple1 = (1)
>>> tuple1
1
>>> tuple2 = (1,2)
>>> tuple2
(1, 2)
>>> tuple3 = 1,2,3
>>> tuple3
(1, 2, 3)
>>> tuple4 = (1,)
>>> tuple4
(1,)
>>> tuple5 = ('I', 'am', 'Fumin')
>>> tuple5
('I', 'am', 'Fumin')
>>> tuple5[0]
'I'
>>> del tuple5[0]
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    del tuple5[0]
TypeError: 'tuple' object doesn't support item deletion

튜플의 생성은 리스트의 [] 괄호와 달리 () 괄호로 생성합니다.

tuple1을 보면 (1) 을 통해서 한가지 값만 입력하였습니다. 그런데 출력 부분에 보면 () 괄호가 없이 출력이 됩니다. 즉 (1) 과 같이 값이 하나일 경우에는 tuple4와 같이 (1,) 콤마를 넣어주어야합니다.

tuple3과 같이 괄호 없이도 생성이 가능합니다.

tuple5에서 문자열 튜플을 생성한 뒤 del 함수와 같이 삭제를 시도하면 에러가 발생합니다.

또한 아래와 같이 변경도 불가능합니다.

>>> tuple5 = ('I', 'am', 'Fumin')
>>> tuple5[0] = 'You'
Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    tuple5[0] = 'You'
TypeError: 'tuple' object does not support item assignment

2. 튜플 기능

  • 인덱싱
>>> tuple = (1, 2, 3, 4, 5)
>>> tuple[1]
2
>>> tuple[4]
5

튜플 내에 값에 접근하려면 () 괄호가 아닌 리스트와 같이 [] 괄호를 사용해서 특정 위치의 값을 가져올 수 있습니다.

 

  • 슬라이싱
>>> tuple = (1, 2, 3, 'I', 'am', 'Fumin')
>>> tuple[:3]
(1, 2, 3)
>>> tuple[3:]
('I', 'am', 'Fumin')

슬라이싱도 리스트와 사용법이 같습니다.

 

  • 더하기, 곱하기
>>> tuple = ('I', 'am')
>>> tuple2 = ('Fumin', '.')
>>> tuple + tuple2
('I', 'am', 'Fumin', '.')
>>> tuple + tuple2 * 2
('I', 'am', 'Fumin', '.', 'Fumin', '.')

더하면 각 튜플이 가진 요소를 합칩니다. * 연산을 하면 해당 튜플을 반복합니다.

 

  • 길이 구하기
>>> tuple = (1, 2, 3, 4, 5)
>>> len(tuple)
5

리스트와 같이 len 함수를 사용해서 길이를 가져옵니다.

반응형

댓글