From: Raymond Hettinger Date: Sat, 7 Aug 2010 05:36:53 +0000 (+0000) Subject: Add partition recipe to itertools docs. X-Git-Tag: v3.2a2~444 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=08d01eedeff8db39bcc081aebed0bfd1ae54e9e0;p=python Add partition recipe to itertools docs. --- diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index 8037bfe996..cadd0f3a6a 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)