gpt4 book ai didi

python - 我如何计算数字/位数组的所有可能性(在 python 中,或与此相关的任何语言)

转载 作者:太空狗 更新时间:2023-10-29 22:04:16 25 4
gpt4 key购买 nike

我已经绞尽脑汁连续3个小时了,还是没弄明白,所以来这里问一下。 (我在标题中写了 Python,但这几乎适用于任何语言)

假设我有一个固定长度 n 的位数组(但它也可以是定义范围内的整数),比方说 5。

array=[0,1,1,0,0]

现在,我如何生成所有可能在数字范围内的数组(对于位,2)。

所以:

[0,0,0,0,0], [0,0,0,0,1], [0,0,0,1,0], [0,0,0,1,1] ...

我曾尝试在这里寻找解决方案,但我总能找到类似的东西,但并不能完全解决我的问题。

为了解决这个问题,我尝试了各种循环,但我总是要么多次获得一种可能性(不应该发生),要么没有获得所有可能的可能性。

我可以设法用 if 语句来做到这一点(检查组合是否已经存在),但这看起来非常简单。

有没有简单的方法,只用循环,得到所有的可能性?

谢谢

编辑:由于下面提到了这一点,不,这不是作业。这是为了研究以实现二进制状态的贝叶斯网络。 (开/关)。

最佳答案

在 Python 中,使用 itertools对于这样的事情

from itertools import product
for i in product([0,1], repeat=5):
print i

产量:

(0, 0, 0, 0, 0)
(0, 0, 0, 0, 1)
(0, 0, 0, 1, 0)
(0, 0, 0, 1, 1)
(0, 0, 1, 0, 0)
etc...

关于python - 我如何计算数字/位数组的所有可能性(在 python 中,或与此相关的任何语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12986272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com