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

Python에서 첫 번째 튜플이 나오기 전까지의 요소 개수 세기

중첩된 튜플에서 첫 번째 튜플이 나타나기 전까지의 요소 개수를 구해야 할 때는 간단한 반복문과 isinstance 메서드, 그리고 enumerate 메서드를 함께 사용하면 손쉽게 해결할 수 있습니다.

아래는 실제 동작 과정을 보여주는 예제입니다.

예제

my_tuple_1 = (7, 8, 11, 0 ,(3, 4, 3), (2, 22))

print ("The tuple is : " )
print(my_tuple_1)

for count, elem in enumerate(my_tuple_1):
    if isinstance(elem, tuple):
        break
print("The number of elements up to the first tuple are : ")
print(count)

출력 결과

The tuple is :
(7, 8, 11, 0, (3, 4, 3), (2, 22))
The number of elements up to the first tuple are :
4

코드 설명

  • 중첩된 튜플을 하나 정의한 뒤 콘솔에 출력합니다.
  • enumerate 함수를 사용해 튜플의 각 요소를 인덱스(카운트)와 함께 순회합니다.
  • isinstance 메서드로 현재 요소가 튜플(tuple) 타입인지 여부를 검사합니다.
  • 요소가 튜플이면 break 문으로 반복을 즉시 종료하며, 이 시점의 카운트 값이 곧 첫 번째 튜플 앞에 있는 요소의 개수가 됩니다.
  • 최종 결과를 콘솔에 출력합니다.

위 예제의 튜플 (7, 8, 11, 0, (3, 4, 3), (2, 22))에서는 다섯 번째 요소인 (3, 4, 3)이 처음 등장하는 튜플이므로, 그 앞에 위치한 정수 요소는 총 4개입니다. enumerate의 인덱스는 0부터 시작하지만, 반복문이 종료되는 시점의 count 값이 이미 선행 요소의 개수와 일치하기 때문에 별도의 보정 없이 그대로 결과로 활용할 수 있다는 점이 이 방법의 장점입니다.