리스트와 비슷하게 생긴 튜플은 아래와 같은 모습으로 생성 할 수 있다.
t1 = ()
t2 = (1,)
t3 = (1, 2, 3)
t4 = 1, 2, 3
t5 = ('a', 'b', ('ab', 'cd'))
원소값이 하나라면
t2 = (1,)
처럼 뒤에 ','를 붙여야한다.
리스트와 가장 큰 차이점은 원소값을 수정할 수 없다는 것이다. 따라서, 내가 다루고 있는 자료가 튜플인지 리스트인지 파악해야 유리하다.
원소값을 수정할 수 없다는 것이 불편하기도 하지만 반대로 요소값이 수정되지 않기를 바라는, 불변의 값으로서 다루고 싶다면 튜플을 사용하면 된다.
t1 = (1,2,3,4)
del t1[0]
TypeError: 'tuple' object doesn't support item deletion
t1 = (1,2,3,4)
t1[0] = 'c'
TypeError: 'tuple' object does not support item assignment
요소값은 설명한대로 삭제나 변경이 불가한 불변의 값이다.
그렇다면 요소값을 다루려면 어떻게 해야할까?
리스트처럼 0번부터 인덱싱하여 조회가 가능하다.
인덱스 1번부터 마지막 요소까지 슬라이싱이 가능하다.
요소값을 더한것처럼 보이지만 새로운 튜플을 생성한 것이라고 보면 된다.
요소값을 곱하기하면 제시한 횟수만큼 반복한다.
리스트 길이를 구하는 함수와 동일하다.