【问题标题】:Assign values to a matrix in Python在 Python 中为矩阵赋值
【发布时间】:2019-05-24 04:43:39
【问题描述】:

我写了这段代码,需要生成一个矩阵并保存。但是,在分配矩阵值时,它会显示“KeyError:0”!有人知道是什么原因吗?谢谢

import numpy as np
l=5; x=0; z=5; y=np.arange(0,5,0.5)
positions = { (i,j):0 for i in range(l) for j in range(2)}
for i in range(l):
    positions[i][0]=x
    positions[i][1]=y[i]
    positions[i][2]=z

【问题讨论】:

    标签: python matrix variable-assignment


    【解决方案1】:

    这是您构建密钥的方式,应该是 tuple 而不是 array 之类的东西

    import numpy as np
    l=5; x=0; z=5; y=np.arange(0,5,0.5)
    positions = { (i,j):0 for i in range(l) for j in range(2)}
    for i in range(l):
        positions[(i, 0)] = x
        positions[(i, 1)] = y[i]
        positions[(i, 2)] = z
    

    【讨论】:

      【解决方案2】:

      我不确定您需要的矩阵形状是什么,但假设如下:

      [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
      

      然后代码:

      import numpy as np
      l=5; x=0; z=5; y=np.arange(0,5,0.5)
      
      positions = [[0 for j in range(3)] for i in range(l)]
      
      print(positions)
      
      for i in range(l):
          positions[i][0]=x
          positions[i][1]=y[i]
          positions[i][2]=z
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-11-19
        • 1970-01-01
        • 2017-03-04
        • 2019-05-13
        • 2015-04-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多