From 08d01eedeff8db39bcc081aebed0bfd1ae54e9e0 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sat, 7 Aug 2010 05:36:53 +0000 Subject: [PATCH] Add partition recipe to itertools docs. --- Doc/library/itertools.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index 8037bfe996c..cadd0f3a6a1 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -653,6 +653,12 @@ which incur interpreter overhead. pending -= 1 nexts = cycle(islice(nexts, pending)) + def partition(pred, iterable): + 'Use a predicate to partition entries into false entries and true entries' + # partition(is_odd, range(10)) --> 0 2 4 6 8 and 1 3 5 7 9 + t1, t2 = tee(iterable) + return filterfalse(pred, t1), filter(pred, t2) + def powerset(iterable): "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)" s = list(iterable)