python到MATLAB代码,数字列表和求和

时间:2015-02-24 10:01:41

标签: python matlab numpy

我对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个第一元素的总和,但它并不适合整个过程。

1 个答案:

答案 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]