我有一个list5要填充...它看起来像一个有5列和5行的表。每个单元格可以是1或0。我想找到不同的2^25可能性。每个可能性都是5*5表格/列表中0或1的组合
我该怎么做呢?使用嵌套循环还是什么?
发布于 2011-04-16 09:13:32
我建议你从小事做起。首先使用1x1 list,并检查是否可以显示这两种可用组合:
[[0]]
[[1]]接下来,试试2x2的list。有16种不同的list可以显示:
[[0, 0], [0, 0]]
[[0, 0], [0, 1]]
[[0, 0], [1, 0]]
[[0, 0], [1, 1]]
[[0, 1], [0, 0]]
[[0, 1], [0, 1]]
[[0, 1], [1, 0]]
[[0, 1], [1, 1]]
[[1, 0], [0, 0]]
[[1, 0], [0, 1]]
[[1, 0], [1, 0]]
[[1, 0], [1, 1]]
[[1, 1], [0, 0]]
[[1, 1], [0, 1]]
[[1, 1], [1, 0]]
[[1, 1], [1, 1]]如果你得到了1x1和2x2的算法,那么你应该能够推广它来打印你的5x5。
祝好运!
更新
既然你似乎还在苦苦挣扎,这里有一点额外的帮助。
将这个问题分解成更小的问题。我会从生成值开始。如果忽略上面示例中的list表示法,您将看到值序列是地球上每个计算机科学家都能识别的值序列。在Python语言中使用bin()和str.zfill()生成它也非常容易。
第二个问题是把它们放到list中,这也不是很难。假设序列中的第一个值是'0000‘。您知道您的list是两行乘两列。您可以将前两个字符放入列表中,然后将该列表放入列表中。然后将接下来的两个字符放入一个列表中,并将该列表附加到前一个列表中。好了。对序列中的每个值重复此操作。
希望这能有所帮助。
发布于 2011-04-16 09:23:23
您可以尝试:
import itertools
gen = itertools.product((0,1),repeat=25)创建一个生成器来获得1d中的所有组合,然后根据需要对数据进行整形。
https://stackoverflow.com/questions/5683739
复制相似问题