我需要使用列表中的元素更新矩阵值。当我使用for循环来迭代矩阵的索引并包含列表中的元素。只更新最后一个值,因为它是迭代器的最后一个值。
但是我需要在矩阵中添加列表的序列。 请告诉我是否有可能做到这一点..
>>> n
[0, 1, 2, 3]
>>> for i in range(len(m)):
for j in range(len(m)):
for k in range(len(n)):
m[i][j]=n[k]
>>> m
array([[ 3., 3.],
[ 3., 3.]])
答案 0 :(得分:0)
在最内圈:
for k in range(len(n)):
m[i][j]=n[k]
i
和j
没有变化,因此您分配了n[i][j]=n[0]
,然后分配了n[i][j]=n[1]
,n[i][j]=n[2]
,n[i][j]=n[3]
,最后一个成立。
解决问题的一种天真的方法是:
k=0
for i in range(len(m)):
for j in range(len(m)):
m[i][j]=n[k]
k+=1