gpt4 book ai didi

python - 枚举二进制变量值的所有可能组合

转载 作者:行者123 更新时间:2023-12-05 08:47:31 25 4
gpt4 key购买 nike

假设我有 n 个变量,每个变量都有两个值:0 或 1。如果我想枚举所有可能的值组合,那将是 2^n 种可能的组合。我想知道如何以干净简单的方式生成它?

假设 n=4。我们希望生成一个 numpy 数组或类似于以下手动生成示例的类似内容。

[[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]]

请注意,顺序很重要。第一列总是查看 col1 = 0 的情况,然后继续查看 col1 = 1 的情况。然后 col2 查看 col2 = 0 的情况,给定 col1 = 0,然后 col2 = 1,给定 col1 = 0,然后 col2 = 0 假定 col1 = 1,最后 col2 = 1 假定 col1 = 1。依此类推。基本上,无论 n 是多少,我都需要这种排序方法。

这可以通过迭代方法解决吗?

最佳答案

itertools.product([0, 1], repeat=4) 将给出一个生成这样一个序列的迭代器。 np.array(list(itertools.product([0, 1], repeat=4))) 会给你一个 numpy 数组。

关于python - 枚举二进制变量值的所有可能组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67463055/

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