读书人

scilab list部类

发布时间: 2012-09-10 11:02:32 作者: rapoo

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).

读书人网 >编程

热点推荐