簡體   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