【发布时间】:2020-07-27 01:46:46
【问题描述】:
我对 Python 还是很陌生。正在进行的项目涉及从一组数字创建一个 N X 3 矩阵,numbers∈[0,1,2] 其中每一行将由这些数字的组合填充,例如 [0,0,0], [0, 0,1],[0,0,2]...[2,2,2]。
代码是:
import numpy as np
numbers = []
x = 0
while x < 2:
y = 0
while y < 2:
z = 0
while z < 2:
numbers.append((x,y,z))
z += 1
numbers.append((x,y,z))
y += 1
numbers.append((x,y,z))
x += 1
print(np.asarray(numbers))
但输出只有:
[[0 0 0]
[0 0 1]
[0 0 2]
[0 1 0]
[0 1 1]
[0 1 2]
[0 2 2]
[1 0 0]
[1 0 1]
[1 0 2]
[1 1 0]
[1 1 1]
[1 1 2]
[1 2 2]]
它应该包含 27 行。不过也可以使用itertools.product 来完成。但是如何重写代码以获取所有行呢?
【问题讨论】: