所以,我有这个代码
#!/usr/bin/env python3.7
from itertools import permutations
count = len(set(permutations(range(171476), 3)))
print(f'Final Count: {count}\n')
但是,我确实想以更有效的方式获得最终计数,但我不知道我正在寻找的库函数或以更有效的方式获得答案的不同方式。
有什么想法吗?
最佳答案
您正在创建整数的 3 种排列[0, 171476)
。这意味着在结果元组中,第一个整数有 171476
选项,第二个 171476 - 1
选项和最后一个 171476 - 2
选项。注意到这个模式了吗?
def num_permutations(n, k):
result = 1
while k:
result *= n
k -= 1
n -= 1
return result
这样我们就找到了答案:
>>> num_permutations(171476, 3)
5041995277625400
关于python - 在Python中计算集合中的大量数字的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60343546/