我有以下代码:
def TEST():
vals = [[0]*len(K_values)]*len(u_values)
for p in range(len(u_values)):
u = u_values[p]
for i in range(len(K_values)):
K = K_values[i]
vals[p][i] = u * K
return vals
u_values
和K_values
是11个元素的长1-D数组。 vals
是一个零的二维数组,在每个循环中都应该[p][i]
元素更新为u * K
。
问题是,不是在每个(外部)循环上改变索引p,而是python总是使用p=0
- 这意味着在每个循环中,只使用u_values[0]
。起初我以为这是因为外部for循环只执行一次;但是,在查看代码输出(vals
)时,很明显外循环IS循环len(u_values)
次;它始终与p=0
一致(否则,我希望只有vals
数组的第0列才会非零)。