pyiter.filtering
1from typing import Callable, Iterable, Iterator 2from .transform import Transform, T 3 4 5class FilteringTransform(Transform[T, T]): 6 """Transform that filters elements based on a predicate""" 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 i in self.iter: 14 if self.predicate(i): 15 yield i
6class FilteringTransform(Transform[T, T]): 7 """Transform that filters elements based on a predicate""" 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 i in self.iter: 15 if self.predicate(i): 16 yield i
Transform that filters elements based on a predicate