Python 使用numpy创建一个数组,该数组包含每个单元格的索引乘法,不带循环

Python 使用numpy创建一个数组,该数组包含每个单元格的索引乘法,不带循环,python,numpy,multidimensional-array,indexing,numpy-ndarray,Python,Numpy,Multidimensional Array,Indexing,Numpy Ndarray,我想做一个函数,得到一个名为“n”的int(例如4), 用它做一个numpy数组,每个单元格都包含它的索引乘法。 我想让它没有任何循环。 例如,对于int为4的情况: index_check(4) [[0, 0, 0, 0], [0, 1, 2, 3], [0, 2, 4, 6], [0, 3, 6, 9]] 我试着使用命令np.arrange、np.reforme、np.tile,但是我被卡住了。 非常感谢您在range array上使用- In [41]: n = 4 In [42]:

我想做一个函数,得到一个名为“n”的int(例如4), 用它做一个numpy数组,每个单元格都包含它的索引乘法。 我想让它没有任何循环。 例如,对于int为4的情况:

index_check(4)
[[0, 0, 0, 0],
[0, 1, 2, 3],
[0, 2, 4, 6],
[0, 3, 6, 9]]
我试着使用命令np.arrange、np.reforme、np.tile,但是我被卡住了。 非常感谢您在range array上使用-

In [41]: n = 4

In [42]: np.multiply.outer(np.arange(n), np.arange(n))
Out[42]: 
array([[0, 0, 0, 0],
       [0, 1, 2, 3],
       [0, 2, 4, 6],
       [0, 3, 6, 9]])
较短的一个,带解包和
范围
-

In [44]: np.multiply.outer(*[range(n)]*2)
Out[44]: 
array([[0, 0, 0, 0],
       [0, 1, 2, 3],
       [0, 2, 4, 6],
       [0, 3, 6, 9]])
在距离阵列上使用-

In [41]: n = 4

In [42]: np.multiply.outer(np.arange(n), np.arange(n))
Out[42]: 
array([[0, 0, 0, 0],
       [0, 1, 2, 3],
       [0, 2, 4, 6],
       [0, 3, 6, 9]])
较短的一个,带解包和
范围
-

In [44]: np.multiply.outer(*[range(n)]*2)
Out[44]: 
array([[0, 0, 0, 0],
       [0, 1, 2, 3],
       [0, 2, 4, 6],
       [0, 3, 6, 9]])

您可以使用numpy中的内置函数,该函数提供索引,并使用
np将行索引乘以列索引。如下所示:

np.multiply(*np.indices((4,4)))
输出:

[[0 0 0 0]
 [0 1 2 3]
 [0 2 4 6]
 [0 3 6 9]]

您可以使用numpy中的内置函数,该函数提供索引,并使用
np将行索引乘以列索引。如下所示:

np.multiply(*np.indices((4,4)))
输出:

[[0 0 0 0]
 [0 1 2 3]
 [0 2 4 6]
 [0 3 6 9]]

发布你的代码。例如,您首先需要的是一个nxn矩阵。发布你尝试过的,发布你的代码。例如,您首先需要的是一个nxn矩阵。发布你尝试过的内容。