summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2008-03-13 02:43:14 (GMT)
committerRaymond Hettinger <python@rcn.com>2008-03-13 02:43:14 (GMT)
commita137e1f11127b55b9e9b5e9eb1991a2a9401a431 (patch)
treeff71769cb06ec9855faf4cfa61ba5257aa4fb672 /Doc
parentdd1150e3a25635972834a444021dbb4af397b6e1 (diff)
downloadcpython-a137e1f11127b55b9e9b5e9eb1991a2a9401a431.zip
cpython-a137e1f11127b55b9e9b5e9eb1991a2a9401a431.tar.gz
cpython-a137e1f11127b55b9e9b5e9eb1991a2a9401a431.tar.bz2
In Py3.0, the recipes can use keyword-only arguments instead of using the **kwds trick.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/itertools.rst10
1 files changed, 4 insertions, 6 deletions
diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
index bc8986b..6e7885e 100644
--- a/Doc/library/itertools.rst
+++ b/Doc/library/itertools.rst
@@ -291,9 +291,8 @@ loops that truncate the stream.
iterables are of uneven length, missing values are filled-in with *fillvalue*.
Iteration continues until the longest iterable is exhausted. Equivalent to::
- def zip_longest(*args, **kwds):
+ def zip_longest(*args, fillvalue=None):
# zip_longest('ABCD', 'xy', fillvalue='-') --> Ax By C- D-
- fillvalue = kwds.get('fillvalue')
def sentinel(counter = ([fillvalue]*(len(args)-1)).pop):
yield counter() # yields the fillvalue, or raises IndexError
fillers = repeat(fillvalue)
@@ -384,10 +383,10 @@ loops that truncate the stream.
This function is equivalent to the following code, except that the
actual implementation does not build up intermediate results in memory::
- def product(*args, **kwds):
+ def product(*args, repeat=1):
# product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
# product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
- pools = map(tuple, args) * kwds.get('repeat', 1)
+ pools = map(tuple, args) * repeat
result = [[]]
for pool in pools:
result = [x+[y] for x in result for y in pool]
@@ -596,8 +595,7 @@ which incur interpreter overhead. ::
def grouper(n, iterable, fillvalue=None):
"grouper(3, 'abcdefg', 'x') --> ('a','b','c'), ('d','e','f'), ('g','x','x')"
args = [iter(iterable)] * n
- kwds = dict(fillvalue=fillvalue)
- return zip_longest(*args, **kwds)
+ return zip_longest(*args, fillvalue=fillvalue)
def roundrobin(*iterables):
"roundrobin('abc', 'd', 'ef') --> 'a', 'd', 'e', 'b', 'f', 'c'"