我试图生成两个值的可能排列列表,每个值只包含相等的数字。你知道吗
最接近的是乘积置换,然后是一个计数器,但这显然是错误的方法,对于超过20的值,它会消耗大量内存。你知道吗
lst = ['d', 'r']
correct = 0
for x in product(lst, repeat=20):
y = Counter(x)
if y['d'] == y['r']:
correct += 1
print(correct)
我也尝试过一组置换,但由于某些原因,这比乘积算法效率更低:
lst = ['d', 'r'] * 10
print(len(set(permutations(lst)))
有没有人能建议一种不同的工具,或者一种将产品的生成限制为每个元素数量相等的迭代的方法?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐