For loop 枚举列表的每个索引中的0,1元素
我想得到所有可能的枚举结果,每个索引中都有0或1作为值 下面是我的代码和结果。 如何改进代码?我想避免过多的For loop 枚举列表的每个索引中的0,1元素,for-loop,enumeration,enumerate,For Loop,Enumeration,Enumerate,我想得到所有可能的枚举结果,每个索引中都有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
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时,您可以将数组的大值设置为out-in-combination数组存储在k中,在k中您可以输入任何值,然后intertools尝试进行排序和合并