본문 바로가기
성장하기/Python

cycle

by 솔로 슈퍼스타 2023. 6. 15.
728x90

itertools 모듈의 cycle은 반복 가능한 객체의 요소들을 무한히 반복시키는 이터레이터를 생성하는 함수입니다.

cycle 함수는 하나의 반복 가능한 객체를 인자로 받습니다. 이 함수를 호출하면 해당 객체의 요소들을 처음부터 끝까지 반복하면서 이터레이터를 생성합니다. 만약 객체의 끝에 도달하면 다시 처음부터 요소들을 반복합니다. 이 과정을 계속 반복하여 무한히 이어지게 됩니다.

예를 들어, 다음과 같이 cycle 함수를 사용하여 리스트의 요소들을 무한히 반복하는 이터레이터를 생성할 수 있습니다:

 

from itertools import cycle

my_list = [1, 2, 3]
my_cycle = cycle(my_list)

for i in range(10):
    print(next(my_cycle))
    
#출력
#1
#2
#3
#1
#2
#3
#1
#2
#3
#1

 

위의 코드는 [1, 2, 3] 리스트의 요소들을 무한히 반복하면서 값을 출력합니다. next 함수를 사용하여 이터레이터의 다음 값을 가져올 수 있습니다.

cycle은 주로 반복적인 작업이 필요한 경우에 유용합니다. 예를 들어, 무한히 반복되는 시퀀스에서 원하는 개수의 요소를 가져와야 할 때나, 순환하는 작업을 수행해야 할 때 활용할 수 있습니다.

'성장하기 > Python' 카테고리의 다른 글

permutations 과 combinations  (0) 2023.06.15
소수찾기와 에라토스테네스의 체  (0) 2023.06.15
cmp_to_key  (0) 2023.06.14
PriorityQueue  (0) 2023.06.14
heapq  (0) 2023.06.14