Add repeat keyword argument to itertools.product().
This commit is contained in:
parent
69e1309fd4
commit
18750ab2a0
|
@ -340,7 +340,7 @@ loops that truncate the stream.
|
|||
|
||||
.. versionadded:: 2.6
|
||||
|
||||
.. function:: product(*iterables)
|
||||
.. function:: product(*iterables[, repeat])
|
||||
|
||||
Cartesian product of input iterables.
|
||||
|
||||
|
@ -353,11 +353,15 @@ loops that truncate the stream.
|
|||
so that if the inputs iterables are sorted, the product tuples are emitted
|
||||
in sorted order.
|
||||
|
||||
To compute the product of an iterable with itself, specify the number of
|
||||
repetitions with the optional *repeat* keyword argument. For example,
|
||||
``product(A, repeat=4)`` means the same as ``product(A, A, A, A)``.
|
||||
|
||||
Equivalent to the following except that the actual implementation does not
|
||||
build-up intermediate results in memory::
|
||||
|
||||
def product(*args):
|
||||
pools = map(tuple, args)
|
||||
def product(*args, **kwds):
|
||||
pools = map(tuple, args) * kwds.get('repeat', 1)
|
||||
if pools:
|
||||
result = [[]]
|
||||
for pool in pools:
|
||||
|
|
Loading…
Reference in New Issue