Python itertools.product,指定排列中的元素用法

时间:2017-09-06 01:25:34

标签: python python-3.x itertools

我正在尝试生成两个值的可能排列列表,每个值只包含相同数量的值。

我最接近的是产品排列,然后是计数器,但这显然是错误的方式,并且消耗大量内存超过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)))

任何人都可以建议使用不同的工具,或者将产品生成限制为仅使用每个元素的相同数量的迭代吗?

0 个答案:

没有答案