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 |