pyiter.take

 1from typing import Iterable, Iterator
 2from .transform import Transform, T
 3
 4
 5class TakeTransform(Transform[T, T]):
 6    """A transform that takes the first n elements of an iterable."""
 7
 8    def __init__(self, iter: Iterable[T], n: int):
 9        super().__init__(iter)
10        self.n = n
11
12    def __do_iter__(self) -> Iterator[T]:
13        for i, e in enumerate(self.iter):
14            if i >= self.n:
15                break
16            yield e
class TakeTransform(pyiter.transform.Transform[~T, ~T]):
 6class TakeTransform(Transform[T, T]):
 7    """A transform that takes the first n elements of an iterable."""
 8
 9    def __init__(self, iter: Iterable[T], n: int):
10        super().__init__(iter)
11        self.n = n
12
13    def __do_iter__(self) -> Iterator[T]:
14        for i, e in enumerate(self.iter):
15            if i >= self.n:
16                break
17            yield e

A transform that takes the first n elements of an iterable.

n