이번에는 파이썬의 기본 자료형 중 튜플(tuple)에 대해서 알아보겠습니다.
튜플 (tuple)
튜플은 다양한 값을 함께 저장하는 것은 리스트(리스트에 대한 게시물을 조회하시려면 여길 누르세요)와 유사합니다.
하지만, 리스트와는 다른 2가지의 특징이 있습니다.
- 중괄호를 쓰는 리스트와는 달리, 튜플은 소괄호 "()"를 사용합니다.
- 값의 생성, 삭제, 수정이 불가능합니다. 그러므로, 값이 변하지 않기를 바라는 경우 사용합니다.
튜플의 생성은 다음과 같이 합니다.
>>> t = ()
>>> t1 = (1, )
>>> t2 = (1, 2, 3)
여기서 주의하셔야 할 점은, 원소가 1개인 튜플을 생성하는 경우 콤마(,)를 꼭 함께 사용해야 한다는 것입니다.
콤마를 사용하지 않는 경우, 튜플이 아닌, 원소 그 자체가 변수에 저장됩니다.
예를들어, a = (1) 이라고 선언하는 경우, a에는 1이라는 정수 값이 저장됩니다.
하지만, b = (1, )이라고 선언하면, b는 1 이라는 원소를 보유한 튜플로 선언됩니다.
>>> t = (1, 2, 3)
>>> del t[0]
# 오류
>>> t[0] = 999
# 오류
앞서 말한 것과 같이, 튜플의 값을 삭제하거나 수정하는 것은 불가능합니다.
튜플을 수정하는 경우 오류가 발생합니다.
튜플 연산
리스트와 동일하게, 튜플에도 다양한 연산이 가능합니다.
1. 튜플 인덱싱
리스트 인덱싱과 동일한 방법으로 수행됩니다.
리스트의 각 요소를 인덱스를 이용해서 접근할 수 있습니다. 이때, 각 인덱스는 0에서부터 시작합니다.
리스트의 뒤에서부터 접근하기 위해서는 - 를 이용해서 접근할 수 있습니다. -1의 경우 가장 마지막 요소를 접근하게 됩니다.
인덱스를 -0으로 접근하는 경우, 0번째 인덱스와 동일한 결과를 반환합니다.
>>> l = (1, 2, 3, 'a', 'b', 'c')
>>> l[0]
# 1
>>> l[-1]
# 'c'
>>> l[-0]
# 1
2. 튜플 슬라이싱
리스트 슬라이싱과 동일한 방법으로 사용할 수 있습니다.
튜플명[시작 인덱스 : 끝 인덱스] 와 같이 표현합니다. 전체 튜플의 일부를 잘라낸다고 생각하시면 됩니다.
리스트 동일하게 주의하셔야 할 점은 끝 인덱스의 값을 결과에 포함되지 않는다는 점입니다.
결과로 동일하게 튜플을 반환합니다.
>>> l = (1, 2, 3, 'a', 'b', 'c')
>>> l1 = l[1:3]
# (2, 3)
>>> l2 = l[:3]
# (1, 2, 3)
>>> l3 = l[3:]
# ('a', 'b', 'c')
3. 기타 리스트 연산
- + : 튜플 더하기
- * : 튜플 곱하기
- len() : 튜플 길이 구하기
>>> a = (1, 2, 3)
>>> b = (0, 9, 8)
>>> a + b
# (1, 2, 3, 0, 9, 8)
>>> a * 2
# (1, 2, 3, 1, 2, 3)
>>> len(a)
# 3
해당 게시물은 <점프 투 파이썬>을 읽고 제 나름대로 정리한 내용입니다!
더 구체적인 정보나, 추가적인 내용을 확인하고 싶으시면 <점프 투 파이썬>을 참고해주시기 바랍니다.
잘못된 부분 지적이나 피드백은 언제든지 환영입니다.
감사합니다 :)
'필기 노트 > Python 기초' 카테고리의 다른 글
[Python 기초] 기본 자료형 : 불(bool) (0) | 2020.07.10 |
---|---|
[Python 기초] 기본 자료형 : 집합 (set) (0) | 2020.07.10 |
[Python 기초] 기본 자료형 : 딕셔너리 (dictionary) (0) | 2020.06.29 |
[Python 기초] 기본 자료형 : 리스트 (list) (0) | 2020.06.24 |
[Python 기초] 기본 자료형 : 숫자형(number), 문자열(string) (0) | 2020.06.22 |
댓글