summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Doc/library/itertools.rst6
-rw-r--r--Lib/test/test_itertools.py6
2 files changed, 6 insertions, 6 deletions
diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
index 9a3626f98c..d8c33316b4 100644
--- a/Doc/library/itertools.rst
+++ b/Doc/library/itertools.rst
@@ -698,9 +698,9 @@ which incur interpreter overhead.
def compress(data, selectors):
"compress('abcdef', [1,0,1,0,1,1]) --> a c e f"
- for d, s in izip(data, selectors):
- if s:
- yield d
+ decorated = izip(data, selectors)
+ filtered = ifilter(operator.itemgetter(1), decorated)
+ return imap(operator.itemgetter(0), filtered)
def combinations_with_replacement(iterable, r):
"combinations_with_replacement('ABC', 3) --> AA AB AC BB BC CC"
diff --git a/Lib/test/test_itertools.py b/Lib/test/test_itertools.py
index 82e1ee43e8..2d07d8df0c 100644
--- a/Lib/test/test_itertools.py
+++ b/Lib/test/test_itertools.py
@@ -1281,9 +1281,9 @@ Samuele
>>> def compress(data, selectors):
... "compress('abcdef', [1,0,1,0,1,1]) --> a c e f"
-... for d, s in izip(data, selectors):
-... if s:
-... yield d
+... decorated = izip(data, selectors)
+... filtered = ifilter(operator.itemgetter(1), decorated)
+... return imap(operator.itemgetter(0), filtered)
>>> def combinations_with_replacement(iterable, r):
... "combinations_with_replacement('ABC', 3) --> AA AB AC BB BC CC"