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"