Add some cross-references to the docs. Simplify the python code equivalent for izip(). Supply an optional argument for the nth() recipe.
diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
index 6fa1978..299d769 100644
--- a/Doc/library/itertools.rst
+++ b/Doc/library/itertools.rst
@@ -427,8 +427,7 @@
# izip('ABCD', 'xy') --> Ax By
iterables = map(iter, iterables)
while iterables:
- result = [it.next() for it in iterables]
- yield tuple(result)
+ yield yield tuple(map(next, iterables))
.. versionchanged:: 2.4
When no iterables are specified, returns a zero length iterator instead of
@@ -702,9 +701,9 @@
"Return function(0), function(1), ..."
return imap(function, count(start))
- def nth(iterable, n):
- "Returns the nth item or None"
- return next(islice(iterable, n, None), None)
+ def nth(iterable, n, default=None):
+ "Returns the nth item or a default value"
+ return next(islice(iterable, n, None), default)
def quantify(iterable, pred=bool):
"Count how many times the predicate is true"