pyiter.take_while
1from typing import Callable, Iterable, Iterator 2from .transform import Transform, T 3 4 5class TakeWhileTransform(Transform[T, T]): 6 """A transform that takes elements from an iterable while a predicate is true.""" 7 8 def __init__(self, iter: Iterable[T], predicate: Callable[[T], bool]): 9 super().__init__(iter) 10 self.predicate = predicate 11 12 def __do_iter__(self) -> Iterator[T]: 13 for e in self.iter: 14 if self.predicate(e): 15 yield e 16 else: 17 break
6class TakeWhileTransform(Transform[T, T]): 7 """A transform that takes elements from an iterable while a predicate is true.""" 8 9 def __init__(self, iter: Iterable[T], predicate: Callable[[T], bool]): 10 super().__init__(iter) 11 self.predicate = predicate 12 13 def __do_iter__(self) -> Iterator[T]: 14 for e in self.iter: 15 if self.predicate(e): 16 yield e 17 else: 18 break
A transform that takes elements from an iterable while a predicate is true.