can';t赋值给函数调用,python中的语法错误

can';t赋值给函数调用,python中的语法错误,python,arrays,matlab,list,syntax-error,Python,Arrays,Matlab,List,Syntax Error,我正在尝试将Matlab脚本转换为Python脚本,由于我不是Python方面的专家,我遇到了以下错误,我不知道如何解决它: 语法错误。程序中有错误:**无法分配给 函数调用 我的代码是: import numpy.matlib m=min(p) Sn=numpy.zeros(28) z=0 for i in range(init_Sn, end_Sn): if p(i)<=m+20 and p(i)>=m-20: z=z+1 Sn(z)=1

我正在尝试将Matlab脚本转换为Python脚本,由于我不是Python方面的专家,我遇到了以下错误,我不知道如何解决它:

语法错误。程序中有错误:**无法分配给 函数调用

我的代码是:

import numpy.matlib
m=min(p)
Sn=numpy.zeros(28)
z=0
for i in range(init_Sn, end_Sn):
    if p(i)<=m+20 and p(i)>=m-20:
        z=z+1
        Sn(z)=1

    else:
        z=z+1
        Sn(z)=0
我不确定问题是否来自“Sn”的定义。在Matlab中,我所做的就是:

Sn=zeros(1,28) 

我认为我在Python中所做的是不等价的?

如果你想将
Sn
位置
z
设置为任何数字,你需要使用
Sn[z]=1
调用它,你需要方括号来索引Python中的数组
Sn[z]=1
Sn
不是一个函数,而是一个分配给数组的变量名!!这很简单:)
Sn=zeros(1,28)