泽兴芝士网

一站式 IT 编程学习资源平台

perl基础——散列(散列表p的选择)

散列, 也叫哈希 hash, 是Perl中一种比较特殊, 有趣的基础技术结构。

散列存储的是成对的数据, 也就是说散列中的数据都是俩俩关联的。

散列使用%作为前缀:


my %user;

散列中存储的数据都是以key-value这样的结构, 因此我们赋值的时候可以这样:

my $user{'Mike'} = 'admin';
my $user{'Tom'}  = 'normal user';

也可以一次性赋值多组数据:

my %user = {
            Mike => 'admin',
            Tom  => 'normal user', 
            };

作为key的字符串, 可以省略引号。


这里最后一个元素后面也加上逗号, 这个习惯很重要, 这样当你或者其他人, 以后需要在后面继续添加元素时, 就不容易出错。


对于散列, 有2个很重要的特性需要记住

  1. 散列存储的数据是无序的, 每次添加数据都是在随机的位置
    也就是说, 我们不能像数组那样使用数字下标来获取指定的元素。
  2. 但是, 当我们需要根据key(或者value)来进行有序的输出时, 我们可以对它们先进行排序, 然后再输出:

  3. sort keys %hash;
  4. 散列中存储的key是唯一的
  5. 数据唯一性这个特性很重要, 因为这个特性, 散列常被用来统计数据出现的次数。
  6. 也就是说,每次我们对同一个key进行赋值, 后续的值会盖掉前面的值, 而不是保存两份数据:
 my $user{Mike} = 'admin';
    $user{Mike} = 'user';

当我们取key是Mike的数据时, 取到的只能是'user' .



我们简单归纳一下Perl的三种基本数据类型:

  • 标量:单一个数据
  • 数组:有序的,可以重复的一组数据
  • 散列:无序的, 唯一的,键-值对形式的数据
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言