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

perl语言入门(5)

发布时间:2020-12-16 00:22:28 所属栏目:大数据 来源:网络整理
导读:第六章 哈希 1.哈希 ? 哈希就是一种数据结构,可以容纳很多值,并随机存取.是很多的键值对,键是字符串且唯一,但是键可以对应多个值(值可以重复).键和值都是任意的标量. ? 值可以是数字,字符串,undef. 2.访问hash元素 ? $family_name{"fred"} 3.访问整个
第六章 哈希
1.哈希
? 哈希就是一种数据结构,可以容纳很多值,并随机存取.是很多的键值对,键是字符串且唯一,但是键可以对应多个值(值可以重复).键和值都是任意的标量.
? 值可以是数字,字符串,undef.
2.访问hash元素
  
  
  1. ? $family_name{"fred"}
3.访问整个哈希
  
  
  1. ? %family_name
? 对 hash赋值会带来列表赋值的上下文,列表的元素应该是键值对
? 3种赋值方法:
%family_name = ("foo",35,"bar",12.4);
%family_name = qw/foo 35 bar 12.4/;
%family_name = 用胖箭头;
? # 数字和字符串会根据需要自动转换
 
 
  1. %new_hash?=?%old_hash;?
? 反转hash,如果多个值,则后面的键覆盖前面的
? %new_hash = reverse %old_hash;
? 哈希松绑(列表上下文)
? @any_array = %family_name;
? 说明松绑后输出不一定是当初赋值的顺序.但是键对应值是固定的
 
 
  1. hash赋值直观的写法?
  2. ??my?%family_name?=?(?
  3. ?????"foo"?=>?35,?
  4. ?????"bar"?=>?12.4,?
  5. ?????);?
4.哈希函数
? 返回键列表
? keys %hash
? 返回值列表
? values %hash
? 返回键的个数
? my $counts = keys %hash;
? print scalar(keys %hash);
? 返回值得个数
? my $counts = values %hash;? ?
? 布尔判断
? if(%hash)
? # 只要hash不为空就返回真
5.each函数
? 每次返回一组键值对
 
 
  1. while?(($key,$value)=?each?%hash)??{?
  2. ??????print?"$key?=>?$valuen";?
  3. ??????}?
# 到返回空列表时循环结束
? # 不知道键对应多个值时会什么样
?
? 检查某个键是否存在
 
 
  1. if?(exists?$hash{"diao"})?
? # 返回真则键diao存在?
? 删除指定的键和它的值
 
 
  1. delete??$hash{"diao"}?
# 假如键不存在,它直接结束,不会给出任何提示信息。

(编辑:李大同)

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

    推荐文章
      热点阅读