嵌套for循环的输出-Python

时间:2020-10-24 12:00:51

标签: python for-loop multidimensional-array

我正在尝试将嵌套的 for 循环的输出输出到数组或矩阵中。例如,在下面的代码示例中,我想要一个(3 x 2)形式的矩阵:

[[5 6],
 [6 7],
 [7 8]]

但是我的代码给出了错误。

import numpy as np

num = [1,2,3]
sep = [4, 5]
M = np.zeros((3,2))
for i in num:
    for j in sep:
        M[i, j] = i + j
M

但是,我意识到将初始化更改为np.zeros((4,6))似乎可行,但是使用了一些无关的单元格。有人可以解释一下它是如何工作的,或者可能是我如何实现这个(3 x 2)矩阵。Nested_Loop

1 个答案:

答案 0 :(得分:2)

您将numsep列表中的值用作索引。您需要改用索引:

import numpy as np

num = [1,2,3]
sep = [4, 5]
M = np.zeros((3,2))
for i_i,i in enumerate(num):
    for i_j,j in enumerate(sep):
        M[i_i, i_j] = i + j

print(M)

根据需要输出。