Python

[Python] 시퀀스 - 튜플(tuple)

디지몬진화 2024. 6. 14. 14:24

1. 튜플 알아보기

- 리스트와 아주 유사 

- 튜플의 내용은 변경될 수 없음

- 리스트에 비해 접근 속도가 빠름

 

2. 튜플의 예시

>>> colors = ("red", "green", "blue")
>>> colors
('red', 'green', 'blue’)
>>> numbers = (1, 2, 3, 4, 5 )
>>> numbers
(1, 2, 3, 4, 5)
>>> t = (1, 2, 'hello!')
>>> t
(1, 2, 'hello!’)

 

※ 주의사항 : 하나의 값 만을 가진 튜플을 생성할 때는 반드시 값 다음에 쉼표를 붙여야 함

>>> t = (10, )

# 잘못된 예시
>>> s = (10)

 

※ 튜플은 변경이 불가능

>>> t1 = (1, 2, 3, 4, 5);
>>> t1[0] = 100;

#Traceback (most recent call last):
#File "<pyshell#11>", line 1, in <module>
#t1[0]=100
#TypeError: 'tuple' object does not support item assignment

 

※ 리스트와 같이 '+'연산자를 사용해 합병 가능

>>> numbers = ( 1, 2, 3, 4, 5 )
>>> colors = ("red", "green", "blue")

>>> t = numbers + colors
# 리스트와 같이 + 연산자를 사용하여 합병할 수 있다.
>>> t
(1, 2, 3, 4, 5, 'red', 'green', 'blue')

 

 

3. 기본적인 튜플 연산

- 리스트와 동일하게 '+'는 접합을 의미,  '*'는 반복을 의미

 

 

4. 인덱싱, 슬라이싱

>>> t = ('apple', 'banana', 'strawberry')

>>> t[0]
'apple' #(인덱스는 0부터 시작한다.)

>>> t[-2]
'banana'  #(음수 인덱스는 오른쪽부터 왼쪽으로 진행된다. )

t[1:]
('banana', 'strawberry’)  #(슬라이싱은 튜플의 한 부분을 추출한다. )

 

 

5. 괄호가 없는 튜플

 

- 튜플은 ()를 사용하여 감싸는 것이 원칙

(but, 괄호없이 나열된 객체들도 기본적으로 튜플로 간주)

#예시
>>> t1 = 'physics', 'chemistry', 'c language'
>>> t2 = 1, 2, 3, 4, 5
>>> t3 = "a", "b", "c", "d"

 

 

6. 내장 함수

- 튜플은 아래 이미지와 같은 내장 함수 지원

- 시퀀스에 적용할 수 있는 모든 내장 함수 사용 가능

 

 

7. 튜플 할당 연산

- 튜플 할당 연산 기능 : 튜플에서 여러 개의 변수로 한번에 값을 대입하는 기능

>>> student1 = ("철수", 19, "CS")
>>> (name, age, major) = student1

>>> name
'철수'
>>> age
19
>>> major
'CS’

 

 

8. 튜플 패킹과 언패킹

- 튜플 패킹 : 튜플에 값을 저장하는 과정

- 튜플 언패킹 : 튜플에서 값을 꺼내서 변수에 대입하는 과정

# 다른 언어의 경우
>>> temp = x
>>> x = y
>>> y = temp

# 파이썬에서는 가능
>>> (x, y) = (y, x)