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

파이썬에서 특정 인덱스부터 리스트 순환 반복하기

개요

이 튜토리얼에서는 주어진 시작 인덱스부터 리스트를 순환(cyclic) 방식으로 반복하는 프로그램을 작성해 보겠습니다. 리스트의 마지막 요소에 도달하면 다시 처음으로 돌아가 나머지 요소들을 이어서 출력하는 방식입니다.

문제 해결 단계

  • 리스트와 시작 인덱스를 초기화합니다.
  • len() 함수로 리스트의 길이를 구합니다.
  • 리스트의 길이만큼 반복문을 실행합니다.
  • index % length 연산으로 현재 요소의 실제 인덱스를 계산합니다.
  • 해당 요소를 출력합니다.
  • 다음 요소를 위해 인덱스를 1씩 증가시킵니다.

간단한 반복문 처리이므로 어렵지 않게 구현할 수 있습니다. 바로 코드를 살펴보겠습니다.

예제 코드

# 리스트와 시작 인덱스 초기화
alphabets = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
start_index = 5

# 리스트의 길이 구하기
length = len(alphabets)

# 리스트 순환 반복
for i in range(length):
    # 현재 요소의 실제 인덱스 계산
    element_index = start_index % length
    # 요소 출력
    print(alphabets[element_index], end=' ')
    # 다음 요소를 위해 인덱스 증가
    start_index += 1

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

f g h a b c d e

동작 원리 설명

시작 인덱스는 5, 리스트의 길이는 8입니다. 첫 번째 반복에서 5 % 8 = 5이므로 여섯 번째 요소인 'f'가 출력됩니다. 이후 인덱스가 6, 7로 증가하면서 'g', 'h'가 차례로 출력되고, 인덱스가 8이 되면 8 % 8 = 0이 되어 다시 첫 번째 요소 'a'부터 출력됩니다.

이처럼 나머지 연산자(%)를 활용하면 리스트의 끝에 도달했을 때 자동으로 처음으로 돌아가는 순환 구조를 손쉽게 만들 수 있습니다.

마무리

나머지 연산을 활용한 순환 반복은 원형 큐, 게임 턴 관리, 스케줄링 등 다양한 분야에서 유용하게 활용됩니다. 튜토리얼 내용에 대해 궁금한 점이 있다면 댓글로 남겨주세요.