您的位置:首页 > 其它

Perl中的数组操作

2011-08-16 12:23 225 查看
Push

返回数组中的个数

pop

返回数组中被Pop出的数,最后一个

shift

返回数据中删除的数字,第一个

unshift

返回数组长度,从第一个添加

print join(':', unshift(@numbers,0,10));

Map

1. 会遍历整个数组,并对数组的每个值调用函数,例如

map uc,@word,

输出全大写

2. $_ 表示数组的每一个值 ,例如

@word = qw(a b c d e f g);

print map{$_}@word

等同于

print @word

3. 如何获得数组的下标

print map{$_} 0...$#word 这里 $#word 表示数组word最后一个元素的下标值。即g的下标=6

输出为 0123456

这里因为{}后面的是0...$#word,表示下标,所以$_也为下标, 如果是{}后面是@word,那么$_就是@word中的元素

4, 将数据转换为hash

%hash = map{$_+100,word[$_]}0...$#word

print join(':',%hash);

输出为1:a:2:b....6:g

如果print $hash{3};

输出为c

可以用于查找

5 利用map连续调用某一函数

@array = (0...9, a...z, A...Z);

print join('',map{$array[int(rand(@array))]}0...7);

rand - 生成随机数的函数

rand(@array) - 这里的@array 返回数组的长度 = $#array+1 , rand(@array)返回一个小于数组长度的浮点数

int(rand(@array)) 转换为整型

map{$array[int(rand(@array))]}0...7 0...7表示执行8次,返回了一个由字母和数字组成的随机数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: