编程语言
首页 > 编程语言> > Perl——对数组array和哈希数组hash array的操作

Perl——对数组array和哈希数组hash array的操作

作者:互联网

Perl——对数组array和哈希数组hash array的操作

文章目录

一、对数组的赋值

如果对数组尾端元素进行赋值,数组会根据需要自动扩大。数组的长度没有上限,只要内存足够大。

my @myarray = ();
$myarray[0] = "0";
$myarray[1] = "1";
$myarray[2] = "2";
$myarray[99] = "99";

以上定义的数组myarray的元素个数是100个,3到98的元素值为undef(未定义)类型。

$#myarray #代表数组myarray的最后一个数,即myarray[99]/99。

二、对数组操作的函数

push:数组末尾新增一个元素
pop:取出数组末尾的元素
shift:取出数组开头的元素,数组个数减一
unshift:在数组开头增加一个元素。
sort:对数组进行排序——另一篇博文有对sort函数的具体操作实例,传送门

三、使用foreach遍历数组(Array)

foreach $e(@myarray){
	print "$e\n" #遍历数组myarray中的每一个元素
}

四、使用foreach遍历哈希数组(hash array)

my %mydood = ('apple' => 'fruit','pear' => 'fruit','carrot' => 'vegatables');
# => 左边是key,右边是value
# 使用keys返回hash数组的关键词数组。
my @mykey = keys %food
# 因此可以通过遍历上面的关键词数组遍历整个hash数组
foreach $key(keys %food){
	print "$key:$food{$key}\n";
}

五、对哈希数组进行操作的一些函数,类keys函数

如values,exists,delete函数。

values:用于返回hash数组所有value值构成的数组。

my @myvalue = values %food;

exists:用来确定某个key是否存在。不能确定某个value是否存在。

if(exists $food{'apple'}) {
	~~~
}

如果food里有apple这个key关键词,执行if里的操作。
相当于exists返回bool类型的0或1。

delete:删除某个键和值

delete $food{'apple'}; #只能按照key索引删除
%food = (); #初始化操作,相当于删除hash数组中所有的key和value。

标签:hash,数组,food,myarray,key,array
来源: https://blog.csdn.net/qq_38328278/article/details/117648594