zoukankan      html  css  js  c++  java
  • perl学习(2)hashes

    一:  哈希概念

        是一种数据结构,可容纳很多值,并能随机存取;由关键字与索引值构成<key,value>;

        key值是唯一的

    二:  应用场景:

        根据主机名找对应的IP地址,

        根据IP地址找主机名,

        按单词统计出现的次数,

        按驾照号码找出对应的姓名

        ....................

    三:  哈希的声明与赋值

    1:  声明%

        eg:my %tab;

    2:  赋值

        A:使用列表对哈希进行赋值,但必须有偶数个成员(键/值对)。例如

        

        B:可用箭头符号=>将哈希赋值中的键/值区分开来

        

    3:  hash可转换成列表

        eg:my @arrays = %tab;

    4:  hash复制

        eg:my %new_hash=%hash;

          my %inverse_hash=reverse %hash(哈希值value唯一的情况才有效)

    5:  访问哈希元素

        A:访问hash中的单个元素,使用花括号

          eg:my $value = $scores{$key};

          my $value2 = $scores {"xiaoming"};

        B:可以将单个的哈希元素内插到双引号字符串中

          eg:print “xiaoli's score is $scores{"xiaoli"} ”;

        C:%ENV 获取系统环境的配置信息(path)

          eg:

    6:   例子

        

              输出:  

        use Data::Dumper;

        print Data::Dumper->Dumper([\%scores1],['scores1']);  #调用类Data::Dumper

    三:  哈希操作

    1:  keys

        返回关键字列表;my @name = keys %scores;

    2:  values

        返回值列表;my @scores = values%scores;

    3:  each

        返回一对值;my($name,$score) = each %scores

     4:  exists

        检查hash中是否存在指定的关键字,存在返回1;my $person = "xiaoming"; exists $scores{$person};

    5:  delete

        删除hash中指定的键与对应的值;delete $scores{$person};

    6:   例子

         

            接上文

          输出:

        

        

        

  • 相关阅读:
    L9,a cold welcome
    别说你不知道java中的包装类,wrapper type,以及容易在自动拆箱中出现的问题
    java导出和读取excel数据
    简单实用句型更新
    PAT1027
    生成英语单词
    c# 操作Word总结【转】
    压缩分卷
    VS2010中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法
    HOW TO:使用 Visual C# .NET 打印 RichTextBox 控件的内容
  • 原文地址:https://www.cnblogs.com/xh13dream/p/8595243.html
Copyright © 2011-2022 走看看