Perl hash map操作,定义,插入,删除,hash函数
发布时间:2020-12-15 23:55:59 所属栏目:大数据 来源:网络整理
导读:#!/usr/bin/perl -w########################################################################## File Name: test3.pl# Author: kevin xiang# Created Time: 2014年07月08日 星期二 09时07分13秒########################################################
#!/usr/bin/perl -w ######################################################################### # File Name: test3.pl # Author: kevin xiang # Created Time: 2014年07月08日 星期二 09时07分13秒 ######################################################################### print "hash mapn"; my %some_hash = ("key1",100,"key2",200,"key3",300); %some_hash = reverse %some_hash; #翻转的是key-value --> value-key #这种定义方法能更明确那个是key,那个是value %some_hash = ( "key4" => 1,"key5" => 2,"key6" => 3,"key7" => 4,); #在hash中插入一个新元素,只需要直接赋值即可,有则覆盖,无则新建 $some_hash{"key8"}=5; my @hash_to_array = %some_hash; print "hash_to_array: @hash_to_array n"; #hash 函数 #函数keys返回hash所有的keys, 函数values返回所有的values my %funcHash1 = ("a"=>1,"b"=>2,"c"=>3); my @k = keys(%funcHash1); my @v = values(%funcHash1); print "keys: @kn"; print "values: @vn"; #函数each 返回key/value列表, 用于迭代hash每一个元素 my %funcHash2 = ("a"=>4,"b"=>5,"c"=>6,"d"=>0); while( my($key,$value) = each %funcHash2 ){ print "$key --> $valuen"; } #hash的存储是无序的,可以用sort排序 foreach $key ( sort(keys(%funcHash2)) ){ $value = $funcHash2{$key}; print "key: $key => value: $valuen"; } #exists 函数,查看hash中是否含有某个key if(exists $funcHash2{"a"}){ print "funcHash2 中存在这个keyn"; }else{ print "funcHash2 中不存在这个keyn"; } #如果省略exists,则是通过value是undef或者是0判断不存在,但value==0是存在的元素 if($funcHash2{"d"}){ print "funcHash2 中存在这个keyn"; }else{ print "funcHash2 中不存在这个keyn"; } #delete 函数, 删除hash中某key对应的元素 my %funcHash3 = ("a"=>11,"b"=>22,"c"=>33); @temp = %funcHash3; print "@tempn"; delete $funcHash3{"b"}; #返回的是删除的key所对应的value 22 @temp = %funcHash3; print "@tempn"; #双引号中支持单个hash元素, 但是支持整个hash内插 print "$funcHash3{'a'}n"; #输出对应的单个元素 print "%funcHash3n"; #不支持这种形式,直接输出$funcHash3 end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |