diff options
| -rw-r--r-- | Doc/library/itertools.rst | 2 | ||||
| -rw-r--r-- | Lib/test/test_itertools.py | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index dd998f6..871b0cb 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -686,6 +686,8 @@ which incur interpreter overhead. # number items returned: (n+r-1)! / r! / (n-1)! pool = tuple(iterable) n = len(pool) + if not n and r: + return indices = [0] * r yield tuple(pool[i] for i in indices) while 1: diff --git a/Lib/test/test_itertools.py b/Lib/test/test_itertools.py index 0f1f695..a45e608 100644 --- a/Lib/test/test_itertools.py +++ b/Lib/test/test_itertools.py @@ -1268,6 +1268,8 @@ Samuele ... "combinations_with_replacement('ABC', 3) --> AA AB AC BB BC CC" ... pool = tuple(iterable) ... n = len(pool) +... if not n and r: +... return ... indices = [0] * r ... yield tuple(pool[i] for i in indices) ... while 1: |
