Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 튜플에서 반복 연산자(*)는 어떻게 동작할까?

일반적으로 * 기호는 곱셈을 나타내는 데 사용되지만, * 왼쪽의 피연산자가 튜플(tuple)이라면 반복 연산자(repetition operator)로 동작합니다. 반복 연산자는 튜플의 복사본을 여러 개 만든 뒤 이를 모두 하나로 이어 붙입니다. 즉, * 연산자를 활용하면 손쉽게 새로운 튜플을 생성할 수 있습니다.

예제 1: 단일 요소 튜플 반복하기

numbers = (0,) * 5  # 쉼표를 사용해 단일 값 튜플임을 명시합니다(표현식과 구분하기 위함)
print(numbers)

출력 결과

(0, 0, 0, 0, 0)

(0,)은 요소가 하나뿐인 튜플입니다. 반복 연산자는 이 튜플을 5번 복사한 후 모두 하나의 튜플로 합쳐 줍니다. 여기서 주의할 점은, 요소가 하나인 튜플을 만들 때 반드시 쉼표를 붙여야 한다는 것입니다. 쉼표가 없으면 괄호 안의 값이 단순한 수식 표현식으로 해석되어 튜플이 생성되지 않습니다.

예제 2: 여러 요소를 가진 튜플 반복하기

numbers = (0, 1, 2) * 3
print(numbers)

출력 결과

(0, 1, 2, 0, 1, 2, 0, 1, 2)

위 예제처럼 여러 요소를 가진 튜플에도 반복 연산자를 적용할 수 있습니다. 원래 튜플의 요소와 순서는 그대로 유지된 채, 지정한 횟수만큼 반복되어 새로운 튜플이 만들어집니다. 참고로 이러한 * 반복 연산자는 튜플뿐 아니라 리스트나 문자열 같은 다른 시퀀스 자료형에도 동일한 방식으로 사용할 수 있습니다.