Fix compress() recipe in docs to use itertools.
diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
index 9a3626f..d8c3331 100644
--- a/Doc/library/itertools.rst
+++ b/Doc/library/itertools.rst
@@ -698,9 +698,9 @@
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 82e1ee4..2d07d8d 100644
--- a/Lib/test/test_itertools.py
+++ b/Lib/test/test_itertools.py
@@ -1281,9 +1281,9 @@
>>> 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"