加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读