튜플은 리스트와 유사하지만 중요한 차이점은 한 번 선언된 튜플의 요소는 수정, 추가, 삭제가 불가능하다는 것이다.@


튜플(Tuple)

튜플은 불변 자료형이다.
이러한 속석으로 인해 튜플은 프로그램이 실행되는 동안 변하지 않아야 하는 값들을 저장하는 데 적합하다.

튜플을 만들 때 괄호( )를 사용하고, 요소들은 쉼표(,)로 구분한다.
단일 요소를 가진 튜플을 생성할 때는 쉼표를 붙여야 한다.(e.g., t=(1,))

튜플의 요소에 접근하기 위해 인덱싱이나 슬라이싱을 사용할 수 있다.
또한, 튜플 간의 결합은 +연산자로, 반복은 *연산자로 수행할 수 있다.
하지만, 튜플의 요소를 직접 수정하거나 삭제하려 하면 오류가 발생한다.
이는 튜플의 불변성에 따른 것이다.

# Tuple 생성
t1 = ()
t2 = (1,)
t3 = (1, 2, 3)
t4 = 1, 2, 3
t5 = ('a', 'b', ('ab', 'cd'))
# 인덱싱
t = (1, 2, 'a', 'b')
print(t[0])  # Output: 1
print(t[3])  # Output: 'b'

# 슬라이싱
t = (1, 2, 'a', 'b')
print(t[1:])  # Output: (2, 'a', 'b')

# Tuple 더하기
t1 = (1, 2, 'a', 'b')
t2 = (3, 4)
t3 = t1 + t2
print(t3)  # Output: (1, 2, 'a', 'b', 3, 4)

# Tuple 곱하기 (반복)
t2 = (3, 4)
t3 = t2 * 3
print(t3)  # Output: (3, 4, 3, 4, 3, 4)

# Tuple 길이 구하기
t = (1, 2, 'a', 'b')
print(len(t))  # Output: 4
1
b
(2, 'a', 'b')
(1, 2, 'a', 'b', 3, 4)
(3, 4, 3, 4, 3, 4)
4