[파이썬 코딩의 기술] - 36. 이터레이터나 제너레이터를 다룰 때는 itertools를 사용하라
1. 여러 이터레이터 연결하기
1) chain
- 여러 이터레이터를 하나의 순차적인 이터레이터로 합치고 싶을 때 사용
it = itertools.chain(['a','b','c'], ['d','e','f'])
print(list(it))
2) repeat
- 한 값을 계속 반복해 내놓고 싶을 때 repeat을 사용
- 두 번째 인자로 최대 반복 횟수를 지정 가능
it1 = itertools.repeat('오잉',3)
it2 = itertools.repeat('오잉',10)
3) cycle
- 이터레이터가 내놓는 원소들을 계속 반복하고 싶을 때 사용
it = itertools.cycle([1,2])
result = [netxt(it) for _ in range (10)]
print(result)
4) tee
- 이터레이터를 병렬적으로 지정된 개수만큼 이터레이터로 만들고 싶을 때 사용
5) zip_longest
- zip 내장 함수의 변종으로, 짧은 쪽 이터레이터의 원소를 다 사용한 경우 fillvalue로 지정한 값을 채워 넣음.
2. 이터레이터에서 원소 거르기
1) islice
- 슬라이싱, 스트라이딩 기능과 비슷한 함수로서 원소 인덱스를 이용해 슬라이싱 할 때 사용
2) takewhile
- 이터레이터에서 각각의 요소에 순서대로 접근하여 주어진 술어가 False를 반환하기 전까지 각각 요소를 돌려줌.
-10이 되면 predicate를 거짓으로 만들기 때문에 10에서 break 되면서 멈춤.
3) dropwhile
- takewhile 함수와 반대로 False를 반환하는 첫 번째 원소를 찾을 때까지 이터레이터의 원소를 건너뛴다.
4) filterfalse
- filter 내장 함수의 반대 기능.
- 이터레이터에서 술어가 False를 반환하는 모든 원소를 돌려준다.
Author And Source
이 문제에 관하여([파이썬 코딩의 기술] - 36. 이터레이터나 제너레이터를 다룰 때는 itertools를 사용하라), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yoonji/파이썬-코딩의-기술-36.-이터레이터나-제너레이터를-다룰-때는-itertools를-사용하라저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)