2.3 perl--数组中元素的修改

对尾部:

pop操作符负责取出数组中最后一个元素并将其作为返回值返回。
@a=5..9
@b=pop@a
其@b为9,@为5..8
或者直接pop@a,也就是删掉@a的最后一个元素

push操作符,用来加入一个元素(或是一串元素)到数组的尾端。
push @a,5;   #数组a中最后一个元素加入5
@b=qw/ 9 0 9 0 3/;
push @a,@b;   @a得到了5个新元素

对头部:

$a=shift (@b);   #@b前一个元素丢失,$a为其第一个元素
unshift同理push
unshift @arrary,@others

对整体:

替换和删除

@a=splice @b,2,4,qw(c b d)
其中@b为处理的数组,2代表的是要操作的一组元素开始位置,其指示索引值,相当于把光标放在了第二个元素的后面,如果仅仅就给出前面两个参数,perl会从给定位置开始一直到末尾的全部元素提取出来并返回。其中4为指定操作的长度。qw(c b d)为要替换的列表,替换的长度不一定要跟拿走的长度相等。
@ab=qw(a b c d e);
@removed=splice @ab,1,2,qw(will); 
#删除b,c ;@removed变成(b c);@ab变成qw(a will d e)

增加:

@array=qw( pebbles dino fred barney betty);
@removed=splice @array,1,0,qw(wilma);
#什么元素都不删,@removed变成了qw();@array变成了qw(pebbles wilma dino ...)

ps:

  1. 上面的方法尽管参考,方法肯定不止一个
  2. 如果跟我一样是菜鸟,请结合我的第一篇博客看如何运行这样的脚本。
  3. 博文内容为整理的《Perl语言入门》这本书,感谢这个书的作者Randal L等人的付出
个人公众号,比较懒,很少更新,可以在上面提问题:

更多精彩,请移步公众号阅读:

Sam avatar
About Sam
专注生物信息 专注转化医学