perl 哈希(hash)学习笔记(一)

1.什么是哈希

哈希是perl的一种数据类型,比较类似数组,用于存放数据,包括2部分关键字keys和值value。不同于数组,哈希访问元素的是按照名字访问标量的key=>value.

hash 用% 来标示

2.hash 操作

a.增加

my %hash; //定义

  第一种写法:$hash{'author'}="Young";  #author 是关键字,Young 是value     与数组一样,hash作为整体时候是这样%hash 带标示符%,作为单个元素使用要使用$而不是%

第二种写法: my %food=('fruit',"apple",'drink',"Coco");         #类似数组初始化 注意这里使用的是( )不是{}  {},用了它实际就是创建了一个引用,正确的就是(),圆括号否则会报 Reference found where even-sized list expected at hash.pl line 4.

   第三种写法:my %fruit=(apple=>"fruit",banana=>'fruit');    #     =>是perl运算符,用于hash

b.使用hash值

单个使用:$hash{'author'};         #       $哈希名{$keyword}

全部使用:foreach $key (keys %food)

{

print  print "$key=>$food{$key}\n";     #使用keys %food 遍历%food的每一个关键字

}

获取所有的key:my  @key=keys %fruit;

获取所有的value:  my @value=values  %fruit;

3.hash 函数 exists 和delete

判断 某个关键字是否存在 exists $hash{'auther'}

删除某个关键字 delete %hash{$keyword}

删除整个hash %hash=();

实例

#!/usr/bin/perl -w
my %hash;
$hash{'author'}="Young";
my %food=('fruit',"apple",'drink',"Coco");
my %fruit=(apple=>"fruit",banana=>'fruit');
print "$hash{'author'}\n";
foreach $key (keys %food)
{
        print "$key=>$food{$key}\n";
}
my  @key=keys %fruit;
my @value=values %fruit;
print @key;
print @value;
print "\n";
print "auther is exists\n" if(exists $hash{'auther'});
delete $food{'drink'};
print "after delete some keyword print \%food\n";
while((my $key,my $value)=each%food)
{
        print "$key=>$value\n";
}

结果:

/home/Young> perl hash.pl   
Young
fruit=>apple
drink=>Coco
bananaapplefruitfruit
after delete some keyword print %food
fruit=>apple

转载请注明出处

  

转载请注明出处:http://www.cnblogs.com/tobecrazy/ 

perl 哈希(hash) 学习笔记相关推荐

  1. 《神经网络与深度学习》邱希鹏 学习笔记 (1)

    <神经网络与深度学习>邱希鹏 学习笔记 (1) 完成进度 第一章 绪论 深度学习与神经网络 人工智能 图灵测试 达特茅斯 *(Dartmouth)* 会议 人工智能的研究领域 人工智能发展 ...

  2. 《神经网络与深度学习》邱希鹏 学习笔记(3)

    <神经网络与深度学习>邱希鹏 学习笔记(3) 完成进度 第二章 机器学习概述 线性回归 参数学习 偏差-方差分解 自我理解 概率 似然 先验 后验 参考文献 完成进度 - 第二章 (1) ...

  3. 《神经网络与深度学习》邱希鹏 学习笔记(4)

    <神经网络与深度学习>邱希鹏 学习笔记(4) 完成进度 第二章 机器学习概述 机器学习算法的类型 数据的特征表示 传统的特征学习 特征选择 特征抽取 深度学习方法 评价指标 理论和定理 P ...

  4. Learning Perl(Perl语言入门)学习笔记(3)

    第四章 子例程   1.  子例程(subroutine)即用户自定义函数,子例程调用时通常在子例程名前加上"&"符号:子例程名属于独立的命名空间: 2.  子例程可以在程 ...

  5. 《神经网络与深度学习》 邱希鹏 学习笔记(一)

    一.机器学习的基本要素 机器学习的基本要素: 模型 学习准则 优化算法 其中模型分为线性和非线性.学习准则有用损失函数来评价模型的好坏,还有经验风险最小化准则,大概意思就是在平均损失函数中获得最小的损 ...

  6. 《神经网络与深度学习》 邱希鹏 学习笔记(二)

    正则化 所有损害优化的方法都是正则化.增加优化约束,干扰优化过程 优化约束包括 L1/L2约束,数据增强 干扰优化包括 随机梯度下降 权重衰减 提前停止 在上式中 y ( n ) 为样本 n ,其展开 ...

  7. 数据结构学习笔记(七):哈希表(Hash Table)

    目录 1 哈希表的含义与结构特点 1.1 哈希(Hash)即无序 1.2 从数组看哈希表的结构特点 2 哈希函数(Hash Function)与哈希冲突(Hash Collision) 2.1 哈希函 ...

  8. Perl 数据结构学习笔记

    Perl 数据结构学习笔记 Perl 脚本常用数据结构的学习总结用于以后自己参考,包括数组.散列.散列的数组.数组的散列.混合结构的使用,参考资料:Perl数据结构,Perl 教程 数组,二维数组(数 ...

  9. ruby学习笔记(11)--symbol与hash参数

    symbol是啥就不深入的讨论了,只简单说说symbol的好处 ruby内部对于每个对象,都会有一个数字id用来标识并区分,可以用xxx.object_id来查看 puts "0001&qu ...

最新文章

  1. 最小化安装linux CentOS-6.6后 部署fastdfs +下载地址 很干很干的干货
  2. 递归与分治——二分查找算法(折半查找算法)
  3. 左神算法:在二叉树中找到累加和为指定值的最长路径长度(Java版)
  4. 论文浅尝 - ICLR2020 | 用于半监督分类的图形推理学习
  5. 数论 —— 整数分解
  6. ssh GSSAPIAuthentication 参数
  7. concatenate mutliple videos in ffmpeg
  8. error C2065: “LOAD_LIBRARY_SEARCH_SYSTEM32”: 未声明的标识符
  9. HDFS- 架构图详细解析
  10. Win7网络和共享中心 依赖服务或组无法启动 解决办法
  11. High Performance Visual Tracking with Siamese Region Proposal Network 论文学习
  12. 微信公众号的开发和使用注意事项有哪些?
  13. 梦想起航商务工作PPT模板-优页文档
  14. 运筹学作业——社会网络中的信息传播优化问题
  15. 线上云酒馆是什么?线上云酒馆怎么开发?
  16. java计算机毕业设计宠物医院管理源码+数据库+系统+lw文档+部署
  17. 支付宝对账查询+文件下载+解压+遍历文件+读文件
  18. S2B2C商城系统平台功能模块分析,加速医药制造企业数字化转型落地
  19. eclipse配置mybatis的dtd文件
  20. 人脸属性分析--性别、年龄和表情识别,及其相关的数据集合

热门文章

  1. node.js服务器+mongodb数据库(重拾)
  2. ShutIt:一个基于Python的shell自动化框架
  3. Golang 笔记 2 函数、结构体、接口、指针
  4. [C语言]函数与调试
  5. 《DOM编程艺术》中CSS—DOM的总结(一)
  6. mysql乱码问题的解决方案
  7. php open_basedir
  8. netfilter/iptables
  9. Linux substring if
  10. [linux] mtu查看设置