【发布时间】:2018-01-04 12:37:32
【问题描述】:
我在 Python 中工作,需要找到一种算法来生成所有可能的 n 维 k、k、...、k 数组,每个数组都有一行沿轴的数组。因此,该函数需要两个数字 - n 和 k,并且应该返回一个数组列表,其中包含沿每个轴的所有可能的 k 行。
例如对于 n = 2 和 k = 3,有 6 种可能性(3 条水平线和 3 条垂直线):
[[1, 1, 1],
[0, 0, 0],
[0, 0, 0]],
[[0, 0, 0],
[1, 1, 1],
[0, 0, 0]],
[[0, 0, 0],
[0, 0, 0],
[1, 1, 1]],
[[1, 0, 0],
[1, 0, 0],
[1, 0, 0]],
[[0, 1, 0],
[0, 1, 0],
[0, 1, 0]],
[[0, 0, 1],
[0, 0, 1],
[0, 0, 1]]
对于 n = 3 和 k = 3,有 27 种可能性(9 行,每行沿 3 个轴各 3 个)。
不幸的是,我什至不知道如何为 任意 n 和 k 做到这一点。有什么建议吗?
【问题讨论】:
标签: python arrays algorithm numpy