nee*_*ava 6 python numpy python-3.x
有没有更好的方法在 numpy 中使用 FOR 循环创建多维数组,而不是创建列表?这是我能想到的唯一方法:
import numpy as np
a = []
for x in range(1,6):
for y in range(1,6):
a.append([x,y])
a = np.array(a)
print(f'Type(a) = {type(a)}. a = {a}')
Run Code Online (Sandbox Code Playgroud)
编辑:我尝试做这样的事情:
a = np.array([range(1,6),range(1,6)])
a.shape = (5,2)
print(f'Type(a) = {type(a)}. a = {a}')
Run Code Online (Sandbox Code Playgroud)
但是,输出并不相同。我确信我错过了一些基本的东西。
小智 1
您看过numpy.ndindex吗?这可以解决问题:
a = np.ndindex(6,6)
Run Code Online (Sandbox Code Playgroud)
您可以了解有关多维范围是否存在与 range(n) 等效的 Python 的更多信息?