answer_matrix=[["n.a"]*matrix_size]*matrix_size
我的代码
for c in a:
if answer_matrix[c[0]-1][c[1]-1]=="n.a":
answer_matrix[c[0]-1][c[1]-1]=c[2]
现在a
看起来像这样
>>> a[0]
[1, 2, 1.3e-05, 6e-06, 0.0, 0.0, 0.0, 0.0, 0.0]
>>> a[1]
[1, 3, 0.000949, 0.000142, 0.0, 0.0, 1.8e-05, 5e-06, 0.00011]
>>> a[2]
[1, 4, 0.000417, 0.000126, 0.0, 0.0, 0.0, 0.0, 5.4e-05]
这是一个列表列表,前两个条目是行和列(尚未使用numpy)
我的问题是,在运行for循环后,answer_matrix会在不应该的位置进行修改。
例如,在没有[1, 1, ...]
条目的情况下,我发现answer_matrix[0][0]
已更改为9e-06
。
当我试图摆脱for循环并以c=a[0]
运行代码时,代码块工作正常。
到底发生了什么?