栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 资讯 > 综合新闻

生物信息学系列(五)列表与数组

生物信息学系列(五)列表与数组

上节,我们讲了perl语言中的标量,这节我们继续讲perl预研的列表和数组。

1、列表是什么?

列表是标量的有序集合。比如(1,2,3),这是一个有3个元素的列表,再比如,(1..100),这是一个有100个元素的列表,这里的..叫做范围操作符,表示从1到100连续的数字集合。

图1.列表是什么?

有时候,我们想要将一群人的英文名字做成一个列表,但是英文名字是一个字符串,比如cherry,这是一个字符串,我们希望它在列表中表示一个完整的元素,怎么办呢,这里就要说到单词列表,可以这样表示(“cherry”,“tom”,“Jerry”),这个表示一个含有3个元素的单词列表,这时候可能会有人说,还要写双引号,好麻烦(楼主就是这样一个懒人)。perl提供了一个功能,用qw+定界符完成单词列表的建立,比如:qw(cherry Tom Jerry),和上面带引号的列表是一样的意思。

qw会将定界符中列表里的空白字符全部抛弃,所以,我们用qw建立单词列表的时候,就可以非常随意了,比如:

qw(cherry

tom

Jerry )

这个例子和上面提到的单词列表是一样的。

同样的,定界符也可以多种多样,只要定界符前后对应即可,如图2.

图2.单词列表

2、数组是什么?

数组是存储列表的变量,和前文提到的变量命名规则相同,和标量变量的区别是,数组变量以@开头,以$array[]进行数组访问,如图3。

图3.数组

3、列表与数组的赋值

图4.列表与数组的赋值

4、数组的操作

① 新增和删除元素

图5.数组新增和删除元素

② 数组的内插、反向和排序

图6.数组的内插、反向和排序

③ 数组的遍历

图7.数组的遍历

5、标量 & 列表上下文

最后,我们聊一下perl通过上下文自动识别标量或列表类型,在程序中,同时遇到了列表或标量,perl会根据该句程序的上下文判断这个地方应该是按照标量进行运算还是按照列表进行运算,比如“42+@array”这个表达式,@array会被当做一个标量进行运算,而不是列表,假如@array中有3个元素,则,42+@array=45.

图8.标量 & 列表上下文

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/news/1026543.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号