[Python-checkins] r65296 - in python/trunk: Doc/library/itertools.rst Lib/test/test_itertools.py

raymond.hettinger python-checkins at python.org
Wed Jul 30 09:27:31 CEST 2008


Author: raymond.hettinger
Date: Wed Jul 30 09:27:30 2008
New Revision: 65296
Log:
Neaten-up the itertools recipes.
Modified:
 python/trunk/Doc/library/itertools.rst
 python/trunk/Lib/test/test_itertools.py
Modified: python/trunk/Doc/library/itertools.rst
==============================================================================
--- python/trunk/Doc/library/itertools.rst	(original)
+++ python/trunk/Doc/library/itertools.rst	Wed Jul 30 09:27:30 2008
@@ -645,13 +645,13 @@
 return izip(a, b)
 
 def grouper(n, iterable, fillvalue=None):
- "grouper(3, 'abcdefg', 'x') --> ('a','b','c'), ('d','e','f'), ('g','x','x')"
+ "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
 args = [iter(iterable)] * n
 kwds = dict(fillvalue=fillvalue)
 return izip_longest(*args, **kwds)
 
 def roundrobin(*iterables):
- "roundrobin('abc', 'd', 'ef') --> 'a', 'd', 'e', 'b', 'f', 'c'"
+ "roundrobin('ABC', 'D', 'EF') --> A D E B F C"
 # Recipe credited to George Sakkis
 pending = len(iterables)
 nexts = cycle(iter(it).next for it in iterables)
@@ -671,10 +671,8 @@
 yield set(x for m, x in pairs if m&n)
 
 def compress(data, selectors):
- "compress('abcdef', [1,0,1,0,1,1]) --> a c e f"
- decorated = izip(data, selectors)
- filtered = ifilter(operator.itemgetter(1), decorated)
- return imap(operator.itemgetter(0), filtered)
+ "compress('ABCDEF', [1,0,1,0,1,1]) --> A C E F"
+ return (d for d, s in izip(data, selectors) if s)
 
 def combinations_with_replacement(iterable, r):
 "combinations_with_replacement('ABC', 3) --> AA AB AC BB BC CC"
Modified: python/trunk/Lib/test/test_itertools.py
==============================================================================
--- python/trunk/Lib/test/test_itertools.py	(original)
+++ python/trunk/Lib/test/test_itertools.py	Wed Jul 30 09:27:30 2008
@@ -1234,13 +1234,13 @@
 ... return izip(a, b)
 
 >>> def grouper(n, iterable, fillvalue=None):
-... "grouper(3, 'abcdefg', 'x') --> ('a','b','c'), ('d','e','f'), ('g','x','x')"
+... "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
 ... args = [iter(iterable)] * n
 ... kwds = dict(fillvalue=fillvalue)
 ... return izip_longest(*args, **kwds)
 
 >>> def roundrobin(*iterables):
-... "roundrobin('abc', 'd', 'ef') --> 'a', 'd', 'e', 'b', 'f', 'c'"
+... "roundrobin('ABC', 'D', 'EF') --> A D E B F C"
 ... # Recipe credited to George Sakkis
 ... pending = len(iterables)
 ... nexts = cycle(iter(it).next for it in iterables)
@@ -1260,10 +1260,8 @@
 ... yield set(x for m, x in pairs if m&n)
 
 >>> def compress(data, selectors):
-... "compress('abcdef', [1,0,1,0,1,1]) --> a c e f"
-... decorated = izip(data, selectors)
-... filtered = ifilter(operator.itemgetter(1), decorated)
-... return imap(operator.itemgetter(0), filtered)
+... "compress('ABCDEF', [1,0,1,0,1,1]) --> A C E F"
+... return (d for d, s in izip(data, selectors) if s)
 
 >>> def combinations_with_replacement(iterable, r):
 ... "combinations_with_replacement('ABC', 3) --> AA AB AC BB BC CC"


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /