美文网首页
【perl】perl哈希(二)——哈希的操作

【perl】perl哈希(二)——哈希的操作

作者: 虫虫工工队 | 来源:发表于2020-06-11 12:19 被阅读0次

    创建哈希

    %hash_A=();
    

    给hash赋值

    • 需要键、值

    最简单方法:使用列表

    %hash_A=("key1",value1,"key2",value2,"key3",value3...)
    
    • 逗号不好看,使用=>胖箭头解决键值不易区分的问题
    %hash_A=("key1"=>value1,"key2"=>value2,"key3"=>value3)
    
    • 使用胖箭头的时候key的引号可以省略

    方法二:指定键进行赋值

    • 但每次只赋值1个
    $hash{"key1"}=value1;
    $hash{"key2"}{"key3"}=value2;##多维hash
    
    • 现实中会结合foreach等结构赋值

    hash之间赋值

    • 使用等式赋值,是拷贝操作,不会同时改变
    %hashA=%hashB
    
    举例
    • 在print的引号里,哈希取值时的引号可以省略
    • 注意:在哈希里,不要用123作为键又用字符串的“123”作为键,打印取值的时候哈希只会取“123”为键的值

    修改、添加元素

    $hash_name{"key"}=value;
    
    • 不存在就会创建
    • 在2维哈希中添加一维哈希会怎么样?
      -可以正常加入,可以同时存在不同维度的哈希

    删除hash

    • delete
    delete($hash_name{key})
    delete($hash_name{key}{key2}) ##多维删除
    
    • 多维哈希的删除会怎么样呢?
      -连同后面的维度也被删除

    哈希的切片

    • 把想要的元素提取到一个新的数组
    my %hashname=("key1"=>"value1","key2"=>"value2")
    my @array = @hashname{"key1","key2"};##大括号
    

    将哈希里对应键的值,给到数组里面

    哈希的合并

    • 必须是括号
    • 键一样的情况下,后面的哈希覆盖前面的哈希
    %hashC=(%hash_B,%hash_A)
    

    相关文章

      网友评论

          本文标题:【perl】perl哈希(二)——哈希的操作

          本文链接:https://www.haomeiwen.com/subject/xhpptktx.html