pyiter.intersection
1from typing import Iterable, Iterator, Set 2from .transform import Transform, T 3 4 5class IntersectionTransform(Transform[Iterable[T], T]): 6 """A transform that yields the intersection of iterables.""" 7 8 def __init__(self, iter: Iterable[Iterable[T]]): 9 super().__init__(iter) 10 11 def __do_iter__(self) -> Iterator[T]: 12 from .sequence import it 13 14 iters = it(self.iter) 15 seen: Set[T] = set() 16 for v in iters.first(): 17 if v not in seen and iters.all(lambda iter: v in iter): 18 yield v 19 seen.add(v)
6class IntersectionTransform(Transform[Iterable[T], T]): 7 """A transform that yields the intersection of iterables.""" 8 9 def __init__(self, iter: Iterable[Iterable[T]]): 10 super().__init__(iter) 11 12 def __do_iter__(self) -> Iterator[T]: 13 from .sequence import it 14 15 iters = it(self.iter) 16 seen: Set[T] = set() 17 for v in iters.first(): 18 if v not in seen and iters.all(lambda iter: v in iter): 19 yield v 20 seen.add(v)
A transform that yields the intersection of iterables.