DeL*_*n88 3 python numpy multidimensional-array
在给定维度 的情况下,创建包含以坐标原点为中心的 N 维立方体顶点坐标的 numpy 数组可能是一种有效的方法N。
例如,因为N=1它应该返回np.array([[1],[-1]])
因为N=2它应该返回np.array([[1,1],[1,-1],[-1,1],[-1,-1]])
为了N=3:np.array([[1,1,1],[1,1,-1],[1,-1,1],[1,-1,-1],[-1,1,1],[-1,1,-1],[-1,-1,1],[-1,-1,-1]])
您可以使用product来自itertools
from itertools import product
def vertices(N):
return list(product((1, -1), repeat=N))
print(vertices(1))
# [(1,), (-1,)]
print(vertices(2))
# [(1, 1), (1, -1), (-1, 1), (-1, -1)]
print(vertices(3))
# [(1, 1, 1), (1, 1, -1), (1, -1, 1), (1, -1, -1), (-1, 1, 1), (-1, 1, -1), (-1, -1, 1), (-1, -1, -1)]
Run Code Online (Sandbox Code Playgroud)