scilab list类型
scilab 5.3.3
site:http://help.scilab.org/docs/5.3.3/en_US/list.html
?
调用方式:
list(a1,a2,...,an)
其中a?可以是list类型,可以是矩阵等其他类型。list()构造一个空list。
?
例如:
l = list(1,["a" "b"])l(0) = "foo"l($+1) = "hello"l(2) = "toto"l(3) = rand(1,2)l(3) = null()lbis = list("gewurtz", "caipirina" ,"debug")lter = lstcat(l,lbis) //连接size(lter) - size(lbis) - size(l) // must be zero?第一行结果为:
l? =
?????? l(1)
?
??? 1. ?
?
?????? l(2)
?
!a? b? !
第二行结果为:(在list头部插入数据)
?l? =
?
?
?????? l(1)
?
?foo??
?
?????? l(2)
?
??? 1.?
?
?????? l(3)
?
!a? b? !
第三行结果为:
?l? =
?
?
?????? l(1)
?
?foo??
?
?????? l(2)
?
??? 1.?
?
?????? l(3)
?
!a? b? !
?
?????? l(4)
?
?hello
第4、5行是改变对应元素位置的数值。
第6行结果为:(删除元素)
?l? =
?
?????? l(1)
?
?foo??
?
?????? l(2)
?
?toto??
?
?????? l(3)
?
?hello
?
?
list操作:
提取--〉
例如[x,y] = l(2:3),类似于python中的切片操作。等号左边必须有变量以赋值,否则若只是l(2:3)会报错。
?
在索引i处插入数据-->
L(i) = a,索引i可以大于L现有的长度,例如L原有3个变量,L(6)=1也是正确的,不过L(4)和L(5)被定义为 Undefined。
注意索引是从1开始。若i在L长度内且大于0,作用是改变原先位置的值。
?
在尾部追加元素-->
L($+1)=e.
?
在头部追加元素-->
L(0)=e.(之后元素数量增加1,新增加的元素索引位置是1)
?
删除第i个元素-->
L(i)=null()
?
连接两个list-->
L3 = lstcat(L1,L2).
?
获取list中的元素数量-->
nb_elm = size(L) 或者 nb_elm = length(L)
?
使用list进行迭代-->
通过for循环,例如for e=L,...,end,会进行length(L)次迭代,在第x次迭代中,e的值为L(x).