diff --git a/pytools/__init__.py b/pytools/__init__.py index b372dd2f52770eceb73a4a138dca3e6493768f28..670b07bc6d0f7fbf6d7132ed6978e865922b0063 100644 --- a/pytools/__init__.py +++ b/pytools/__init__.py @@ -616,6 +616,19 @@ def partition(criterion, list): +def partition2(iterable): + part_true = [] + part_false = [] + for pred, i in iterable: + if pred: + part_true.append(i) + else: + part_false.append(i) + return part_true, part_false + + + + def product(iterable): from operator import mul return reduce(mul, iterable, 1)