From 2c1430498e1b236e38c133bd6032c5aa130e23f9 Mon Sep 17 00:00:00 2001 From: Alexander Rodionov Date: Wed, 4 Oct 2023 12:58:30 +0400 Subject: [PATCH] use itertools.starmap for StarMap and StarFlatMap --- pipe21.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pipe21.py b/pipe21.py index f9d415e..df0784b 100644 --- a/pipe21.py +++ b/pipe21.py @@ -42,8 +42,8 @@ class IsUnique (B): __ror__ = lambda self, seq: len(seq) == len(set(seq if s class ReduceByKey (B): __ror__ = lambda self, it: it | GroupBy(lambda kv: kv[0]) | MapValues(lambda kv: kv | Values() | Reduce(self.f)) | Pipe(list) class Apply (B): __ror__ = lambda self, x: x | Exec(self.f, x) class StarPipe (B): __ror__ = lambda self, x: self.f(*x) -class StarMap (B): __ror__ = lambda self, x: x | Map(lambda y: y | StarPipe(self.f)) -class StarFlatMap (B): __ror__ = lambda self, x: x | FlatMap(lambda y: y | StarPipe(self.f)) +class StarMap (B): __ror__ = lambda self, x: itertools.starmap(self.f, x) +class StarFlatMap (B): __ror__ = lambda self, x: itertools.starmap(self.f, x) | Pipe(itertools.chain.from_iterable) class MapApply (B): __ror__ = lambda self, it: it | Map(lambda x: x | Apply(self.f)) class Switch (B): __ror__ = lambda self, x: self.f | FilterKeys(lambda p: p(x)) | Values() | Map(lambda f: f(x)) | Pipe(next, x) class MapSwitch (B): __ror__ = lambda self, it: it | Map(lambda x: x | Switch(self.f))