无法为矩阵中的条目赋值

Unable to assign values to entries in matrices

我正在尝试创建一个复数矩阵并将 0,0 条目分配给 1+0j 的值。这是我写的代码:

import numpy as n
import cmath

M=n.zeros((5,5),dtype=complex)
M[0:0]=1+0j
print M

但是执行后,0,0条目还是0:

[[ 0.+0.j  0.+0.j  0.+0.j  0.+0.j  0.+0.j]
 [ 0.+0.j  0.+0.j  0.+0.j  0.+0.j  0.+0.j]
 [ 0.+0.j  0.+0.j  0.+0.j  0.+0.j  0.+0.j]
 [ 0.+0.j  0.+0.j  0.+0.j  0.+0.j  0.+0.j]
 [ 0.+0.j  0.+0.j  0.+0.j  0.+0.j  0.+0.j]]

我的代码有什么问题?正确的做法是什么?

您只需像这样编写您的矩阵元素参考代码:

    M[0,0]=1+0j

语法 M[0:0] 表示第一个子列表到第一个子列表之前,即一个空元素。尝试评估 M[0:1]

    >>>> M[0:1]
    array([[ 1.+0.j,  0.+0.j,  0.+0.j,  0.+0.j,  0.+0.j]])