首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用python填充5*5列表

用python填充5*5列表
EN

Stack Overflow用户
提问于 2011-04-16 09:01:10
回答 2查看 407关注 0票数 0

我有一个list5要填充...它看起来像一个有5列和5行的表。每个单元格可以是1或0。我想找到不同的2^25可能性。每个可能性都是5*5表格/列表中0或1的组合

我该怎么做呢?使用嵌套循环还是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-16 09:13:32

我建议你从小事做起。首先使用1x1 list,并检查是否可以显示这两种可用组合:

代码语言:javascript
复制
[[0]]
[[1]]

接下来,试试2x2的list。有16种不同的list可以显示:

代码语言:javascript
复制
[[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是两行乘两列。您可以将前两个字符放入列表中,然后将该列表放入列表中。然后将接下来的两个字符放入一个列表中,并将该列表附加到前一个列表中。好了。对序列中的每个值重复此操作。

希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2011-04-16 09:23:23

您可以尝试:

代码语言:javascript
复制
import itertools
gen = itertools.product((0,1),repeat=25)

创建一个生成器来获得1d中的所有组合,然后根据需要对数据进行整形。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5683739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档