Quantcast
Channel: How can I partition (split up, divide) a list based on a condition? - Stack Overflow
Viewing all articles
Browse latest Browse all 41

Answer by doctorzeb8 for How can I partition (split up, divide) a list based on a condition?

$
0
0

solution

from itertools import teedef unpack_args(fn):    return lambda t: fn(*t)def separate(fn, lx):    return map(        unpack_args(            lambda i, ly: filter(                lambda el: bool(i) == fn(el),                ly)),        enumerate(tee(lx, 2)))

test

[even, odd] = separate(    lambda x: bool(x % 2),    [1, 2, 3, 4, 5])print(list(even) == [2, 4])print(list(odd) == [1, 3, 5])

Viewing all articles
Browse latest Browse all 41

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>