Python에서 튜플(tuple)을 'N'번 반복해야 할 때는 '*' 연산자를 사용하면 됩니다. 튜플은 불변(immutable) 데이터 타입으로, 한 번 정의된 값은 인덱스로 접근하여 변경할 수 없습니다. 만약 요소를 변경하려고 시도하면 오류가 발생합니다. 이러한 특성 덕분에 튜플은 읽기 전용 데이터를 안전하게 보관할 수 있는 중요한 자료구조입니다.
'*' 연산자는 일반적인 곱셈 연산자처럼 동작하며, 튜플에 적용하면 해당 튜플을 지정한 횟수만큼 반복한 새로운 시퀀스를 생성합니다.
예제 코드
my_tuple_1 = (11, 14, 0)
print("The tuple is : ")
print(my_tuple_1)
N = 5
my_result = ((my_tuple_1, ) * N)
print("The tuple after duplicating "+ str(N) + " times is")
print(my_result)출력 결과
The tuple is : (11, 14, 0) The tuple after duplicating 5 times is ((11, 14, 0), (11, 14, 0), (11, 14, 0), (11, 14, 0), (11, 14, 0))
코드 설명
- 먼저 튜플을 정의하고 콘솔에 출력합니다.
- 반복 횟수를 나타내는 'N' 값을 정의합니다.
- 튜플을 단일 요소로 감싼 뒤 '(my_tuple_1, )' 형태로 만들고, 여기에 'N'을 곱하여 튜플 자체를 N번 반복합니다.
- 그 결과를 변수 'my_result'에 할당합니다.
- 최종 결과를 콘솔에 출력합니다.
주요 포인트
(my_tuple_1, ) * N은 원본 튜플을 요소로 갖는 새로운 튜플을 생성합니다. 즉, 결과는 튜플 안에 튜플이 들어 있는 중첩 구조가 됩니다.- 반복 연산은 기존 튜플을 수정하지 않으며, 항상 새로운 객체를 반환합니다. 이는 튜플의 불변성과도 잘 맞습니다.
- 만약 튜플 내부의 개별 요소를 반복하고 싶다면
my_tuple_1 * N처럼 괄호 없이 곱하면 됩니다. 이 경우 결과는(11, 14, 0, 11, 14, 0, ...)형태가 됩니다.