summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorRaymond Hettinger <rhettinger@users.noreply.github.com>2022-05-20 23:02:33 (GMT)
committerGitHub <noreply@github.com>2022-05-20 23:02:33 (GMT)
commit59719a242d2191802476f5065236665379e226ac (patch)
treed661ca20e10298c2be428cbcd2d8db37fb96f964 /Doc
parentd59b2d0441d68c63e6dbe2ec76471b54a859bcda (diff)
downloadcpython-59719a242d2191802476f5065236665379e226ac.zip
cpython-59719a242d2191802476f5065236665379e226ac.tar.gz
cpython-59719a242d2191802476f5065236665379e226ac.tar.bz2
Take advantage of math.comb() in the nth_combination() recipe (#93027)
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/itertools.rst8
1 files changed, 2 insertions, 6 deletions
diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
index 26c9253..416c4ec 100644
--- a/Doc/library/itertools.rst
+++ b/Doc/library/itertools.rst
@@ -992,12 +992,7 @@ which incur interpreter overhead.
"Equivalent to list(combinations(iterable, r))[index]"
pool = tuple(iterable)
n = len(pool)
- if r < 0 or r > n:
- raise ValueError
- c = 1
- k = min(r, n-r)
- for i in range(1, k+1):
- c = c * (n - k + i) // i
+ c = math.comb(n, r)
if index < 0:
index += c
if index < 0 or index >= c:
@@ -1071,6 +1066,7 @@ which incur interpreter overhead.
>>> import operator
>>> import collections
+ >>> import math
>>> take(10, count())
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]