所有组合十四项阵列

时间:2013-11-01 20:29:22

标签: python arrays list combinations

所以我有一个包含十四个项目的数组。每个项目可以是0或1.我正在寻找帮助找出这些数字的每个组合。我已经尝试过itertools,但我似乎无法按照我的意愿让它工作。我的意思是这个例子。

   for i in range(0, 15):
       if i%2 == 0:
            array1.append(b)
       else:
            array1.append(c)

   for i in range(0, 14):
for L in range(14, 15):
    for subset in itertools.combinations(array1, L):
        if s != str(subset):
            s = str(subset)
            y += 1
                print(subset)

这是代码,但显而易见的麻烦是数组按照确切的顺序填充然后r但我需要的是每个都可以互换。

加起来十四。有没有人有任何想法如何实现这一目标?

2 个答案:

答案 0 :(得分:6)

您可以使用itertools.product

itertools.product([0, 1], repeat=14)

您可以通过以下方式获取这些结果的列表:

list(itertools.product([0, 1], repeat=14))

或者你可以通过以下方式迭代所有可能性:

for item in itertools.product([0, 1], repeat=14):
    print item

答案 1 :(得分:0)

一种简单的方法是从0计数到(1 << 14) - 1,然后考虑计数器的所有二进制数字;在Python中:

for i in xrange(1 << 14):
    bits = [(i >> k) & 1 for k in xrange(14)]
    ... use bits array ...