枚举列表的每个索引中的 0,1 元素

enumerate the 0,1 element in each index of list

我想获取所有可能的枚举结果,每个索引的值为 0 或 1。

下面是我的代码和结果。 我怎样才能改进我的代码?我想避免太多 for 循环。

k=[0,0,0,0,0,0]
list_dic={}
for a in range(2):
    k[0]=a
    for b in range(2):
        k[1]=b
        for c in range(2):
            k[2]=c
            for d in range(2):
                k[3]=d
                for e in range(2):
                    k[4]=e
                    for f in range(2):
                        k[5]=f
                        list_dic[tuple(k)]=0

enum_list=list((list_dic.keys()))
print(enum_list)

也许您想尝试使用 intertools:

import itertools
k = [0,1]

ret = itertools.product(k, repeat = 6)

for i in ret:
    print i

输出:

(0, 0, 0, 0, 0, 0)
(0, 0, 0, 0, 0, 1)
(0, 0, 0, 0, 1, 0)
(...many arrays..)
(1, 1, 1, 1, 0, 1)
(1, 1, 1, 1, 1, 0)
(1, 1, 1, 1, 1, 1)

使用 repeat = 6 将数组中的大数组设置为组合数组存储在 k 中,在 k 中你可以输入任何值,intertools 尝试排序并组合然后