伙计们,我对编程完全陌生......这是我的代码 问题是如何生成这个矩阵
[([1,0,0,0]) , ([0,0,1,1]) , ([0,1,0,0]) , ([1,1,0,0])
([1,0,1,0]) , ([1,0,0,1]) , ([0,0,0,0]) , ([1,0,1,1])
([0,1,1,1]) , [(0,1,0,1]) , ([0,0,0,1]) , ([1,1,0,1])
([0,0,1,0]) , ([0,1,1,0]) , ([1,1,1,0]) , ([1,1,1,1])
任何帮助请????
答案 0 :(得分:1)
bins = [map(int,"{0:04b}".format(i)) for i in range(16)]
matrix = [bins[i:i+4] for i in range(0,len(bins),4)]
喜欢那个??
确定更容易理解版本。首先开始的事实是你有4个槽,每个槽的选择在0/1之间,为你提供2 ^ 4个潜在的组合...我们可以使用嵌套循环来迭代所有的可能性
for bit0 in [0,1]:
for bit1 in [0,1]:
for bit2 in [0,1]:
for bit3 in [0,1]:
my_binary_list.append([bit0,bit1,bit2,bit3])
这给了我们所有问题的排列,剩下的就是把它分成4个小组
for i in range(0,16,4):
matrix.append(my_binary_list[i:i+4])
答案 1 :(得分:1)
你的意思是简单的python吗?
m = list()
for i in range(0,4) :
m.append(list())
for j in range(0,4) :
a1 = i/2%2
a2 = i%2
b1 = j/2%2
b2 = j%2
m[i].append(list())
m[i][j].append(a1)
m[i][j].append(a2)
m[i][j].append(b1)
m[i][j].append(b1)
print(m)
PS:我个人很喜欢Joran的回答。
答案 2 :(得分:0)
如果这是作业......这对你没有帮助。
但最简单的方法是使用itertools.product:
itertools.product([0,1], [0,1], [0,1], [0,1])
或略短但不易阅读:
itertools.product(*[[0,1]]*4)