更新python中的矩阵值

时间:2016-08-10 09:57:24

标签: python matrix iteration

我需要使用列表中的元素更新矩阵值。当我使用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.]])

1 个答案:

答案 0 :(得分:0)

在最内圈:

          for k in range(len(n)):
            m[i][j]=n[k]

ij没有变化,因此您分配了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