Python/Basic

[Python] 튜플 자료형 정리

HYEOKJUN 2022. 6. 10. 18:00
반응형


튜플이란

튜플(Tuple)은  여러 개의 데이터를 순서대로 모아 관리할 수 있는 불변 자료형입니다.

튜플은 리스트와 거의 같지만 리스트의 기능이 더 많기 때문에 많이 사용하지는 않습니다.

 튜플은 값의 변경이 불가능하기 때문에, 한번 데이터를 저장한 후 변경할 필요가 없는 경우에 사용합니다.


예를 들어, 과목 이름을 갖는 데이터를 관리할 때 

subject1 = "Math"
subject2 = "Science"
subject3 = "English"

다음과 같이 변하지 않는 과목 이름 데이터를 하나하나 선언하는 것보다는

subjects = ("Math", "Science", "English")

  다음과 같이 튜플을 선언하여 관리하는 것이 더 좋습니다.


튜플 선언

튜플은 다음과 같은 방법으로 선언할 수 있습니다.

tuple = tuple()
tuple = ()

또는 초기화와 동시에 값을 할당하기 위해서 다음과 같이 사용합니다.

tuple(object1, object2, ... , objectn)

튜플 요소 접근 

인덱싱이나 슬라이싱을 통해서 리스트의 요소에 접근할 수 있습니다.

인덱싱

한 개의 요소에 접근할 때 다음과 같이 사용합니다.

tuple[index] # index에 대응하는 요소를 반환합니다.

subjects = ("Math", "Science", "English")

subjects[1] 
# subjects[1]은 subjects의 두번째 요소를 의미합니다.
# 따라서 "Science"를 출력합니다.

subject[-1]
# subject[-1]은 subjects의 뒤에서 첫번째 요소를 의미합니다.
# 따라서 "English"를 출력합니다.

슬라이싱

두 개 이상의 요소에 접근할 때 다음과 같이 사용합니다.

tuple[start:end:step] # 조건에 맞는 요소들을 반환합니다.
# start : 슬라이싱을 시작할 위치
#   end : 슬라이싱을 끝낼 위치 (end는 포함되지 않습니다.)
#  step : 슬라이싱의 보폭

subjects = ("Math", "Science", "English")

subjects[0:1] 
# subjects[0:1]은 subjects의 1~2번째 요소를 의미합니다.
# ("Math", "Science")를 튜플로 출력합니다.

subjects[-2:]
# subjects[-2:]은 subjects의 뒤에서 2~1번째 요소를 의미합니다.
# ("Science", "English")를 튜플로 출력합니다.

index()

index() 요소의 인덱스를 반환하는 메서드입니다.

(같은 요소가 존재하는 경우 가장 첫 요소의 인덱스를 반환합니다.)

tuple.index(object)

subjects = ("Math", "Science", "English")

subjects.index("English")
# "English"의 인덱스인 2를 반환합니다.

clear()

clear() 튜플의 모든 요소를 제거하는 메서드입니다.

tuple.clear()

subjects = ("Math", "Science", "English")

subjects.clear()
# subjects 튜플은 ()가 됩니다.

count()

count() 튜플의 특정 요소의 개수를 반환하는 메서드입니다.

tuple.count(object)

number_tuple = (1, 1, 1, 2, 2, 3, 4)

number_tuple.count(1)
# number_tuple 튜플에서 1은 모두 3개가 존재하므로 3을 반환합니다.

패킹 (Packing)

패킹(Packing)여러 데이터를 튜플로 묶는 것입니다.

value = object1, object2, ... , objectn

numbers = 1, 2, 3, 4, 5
# numbers는 (1, 2, 3, 4, 5)가 됩니다.

언패킹 (Unpacking)

언패킹(Unpacking) 튜플의 각 요소를 여러 변수에 할당하는 것입니다. 

value1, value2, ... , valuen = tuple

numbers = (1, 2, 3, 4, 5)

a, b, c, d, e = numbers
# a는 1, b는 2, c는 3, d는 4, e는 5가 됩니다.
반응형