繁体   English   中英

嵌套 for 循环的输出 - Python

[英]Output of a Nested for Loop - Python

我正在尝试将嵌套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

您正在使用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)

根据需要输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM