반응형
튜플이란
튜플(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가 됩니다.
반응형