두 번째로 살펴볼 컨테이너 자료형은 바로 튜플입니다.
튜플은 컨테이너 자료형 중 하나로 소괄호(()
)로 선언합니다. 튜플은 리스트와 흡사하지만 수정이 불가능하다는 특징이 있습니다. 즉, 한 번 만들면 원소를 바꾸거나 없애는 것이 안 된다는 거죠. 또한 리스트와 같이 중복된 값을 허용합니다.
a = () # 빈 튜플, a = tuple()로도 사용합니다.
b = (1, ) # 원소가 하나만 있는 튜플을 만들 땐 콤마(,)가 필요합니다
c = (1, 2, 3, 3)
# c[0] = 10 # ERROR!
튜플은 리스트와 같은 방법으로 인덱싱이 가능합니다.
a = (1, 2, 3, 4)
print(a[0]) # 결과: 1
print(a[-2]) # 결과: 3
마찬가지로 슬라이싱 또한 리스트와 같은 방법으로 이루어집니다.
a = (1, 2, 3, 4)
print(a[0:3]) # 결과: (1, 2, 3)
print(a[-3:]) # 결과: (2, 3, 4)
더하기 연산을 통해 두 튜플이 합쳐진 새로운 튜플을 만들 수 있습니다.
a = (1, 2, 3, 4)
b = (5, 6)
print(a + b) # 결과: (1, 2, 3, 4, 5, 6)
곱하기 연산을 통해 특정 횟수만큼 반복된 새로운 튜플을 만들 수 있습니다.
a = (1, 2, 3, 4)
print(a * 2) # 결과: (1, 2, 3, 4, 1, 2, 3, 4)
튜플은 수정이 불가능하기에 append, del, sort, reverse와 같은 함수는 사용할 수 없습니다. 리스트와 같이 튜플 뒤에 .
을 붙여서 사용할 수 있습니다.
함수 | 기능 |
---|---|
index(elem) | 해당 원소가 처음 나타나는 인덱스 반환 |
count(elem) | 튜플 내 원소의 개수를 셉니다. |