我对python和Numpy完全陌生,我试图在MATLAB中重写一些python代码。在这个过程中,我找到了这条我不理解的专栏a=np.array(eval(self.param[7]))[0:6].sum()
; param是一个包含8个数组的结构:
param[0]=100;
param[1]=1;
param[2]=1.5;
param[3]=(1,2,3,4);
param[4]=(1,1,1,1);
param[5]=10;
param[6]=(1,0.,1,1,1,0.,0.,0.);
param[7]=(2,0.,2,3,6,0.,0.,0.);
有人能告诉我[0:6]和then.sum()有什么作用吗? 我的思想是a是参数[7]中所有7个第一元素的总和,但它并不适合整个过程。
答案 0 :(得分:2)
[0:6]
将获取生成数组的param[7]
中的前6个元素
[2,0.,2,3,6,0.]
然后.sum()
方法将对该数组中的元素求和。
只需快速了解python中的array slicing,表达式x[i:j:k]
将从i x中获取每个k th 元素> 元素,最多但不包括j th 元素。
如果你错过任何一个,那么python你会认为你的意思是数组的开头,数组的结尾和1。因此,代码中的切片可以稍微简洁地写为[:6]