perl 哈希(hash) 学习笔记
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
转载请注明出处
perl 哈希(hash) 学习笔记相关推荐
- 《神经网络与深度学习》邱希鹏 学习笔记 (1)
<神经网络与深度学习>邱希鹏 学习笔记 (1) 完成进度 第一章 绪论 深度学习与神经网络 人工智能 图灵测试 达特茅斯 *(Dartmouth)* 会议 人工智能的研究领域 人工智能发展 ...
- 《神经网络与深度学习》邱希鹏 学习笔记(3)
<神经网络与深度学习>邱希鹏 学习笔记(3) 完成进度 第二章 机器学习概述 线性回归 参数学习 偏差-方差分解 自我理解 概率 似然 先验 后验 参考文献 完成进度 - 第二章 (1) ...
- 《神经网络与深度学习》邱希鹏 学习笔记(4)
<神经网络与深度学习>邱希鹏 学习笔记(4) 完成进度 第二章 机器学习概述 机器学习算法的类型 数据的特征表示 传统的特征学习 特征选择 特征抽取 深度学习方法 评价指标 理论和定理 P ...
- Learning Perl(Perl语言入门)学习笔记(3)
第四章 子例程 1. 子例程(subroutine)即用户自定义函数,子例程调用时通常在子例程名前加上"&"符号:子例程名属于独立的命名空间: 2. 子例程可以在程 ...
- 《神经网络与深度学习》 邱希鹏 学习笔记(一)
一.机器学习的基本要素 机器学习的基本要素: 模型 学习准则 优化算法 其中模型分为线性和非线性.学习准则有用损失函数来评价模型的好坏,还有经验风险最小化准则,大概意思就是在平均损失函数中获得最小的损 ...
- 《神经网络与深度学习》 邱希鹏 学习笔记(二)
正则化 所有损害优化的方法都是正则化.增加优化约束,干扰优化过程 优化约束包括 L1/L2约束,数据增强 干扰优化包括 随机梯度下降 权重衰减 提前停止 在上式中 y ( n ) 为样本 n ,其展开 ...
- 数据结构学习笔记(七):哈希表(Hash Table)
目录 1 哈希表的含义与结构特点 1.1 哈希(Hash)即无序 1.2 从数组看哈希表的结构特点 2 哈希函数(Hash Function)与哈希冲突(Hash Collision) 2.1 哈希函 ...
- Perl 数据结构学习笔记
Perl 数据结构学习笔记 Perl 脚本常用数据结构的学习总结用于以后自己参考,包括数组.散列.散列的数组.数组的散列.混合结构的使用,参考资料:Perl数据结构,Perl 教程 数组,二维数组(数 ...
- ruby学习笔记(11)--symbol与hash参数
symbol是啥就不深入的讨论了,只简单说说symbol的好处 ruby内部对于每个对象,都会有一个数字id用来标识并区分,可以用xxx.object_id来查看 puts "0001&qu ...
最新文章
- 最小化安装linux CentOS-6.6后 部署fastdfs +下载地址 很干很干的干货
- 递归与分治——二分查找算法(折半查找算法)
- 左神算法:在二叉树中找到累加和为指定值的最长路径长度(Java版)
- 论文浅尝 - ICLR2020 | 用于半监督分类的图形推理学习
- 数论 —— 整数分解
- ssh GSSAPIAuthentication 参数
- concatenate mutliple videos in ffmpeg
- error C2065: “LOAD_LIBRARY_SEARCH_SYSTEM32”: 未声明的标识符
- HDFS- 架构图详细解析
- Win7网络和共享中心 依赖服务或组无法启动 解决办法
- High Performance Visual Tracking with Siamese Region Proposal Network 论文学习
- 微信公众号的开发和使用注意事项有哪些?
- 梦想起航商务工作PPT模板-优页文档
- 运筹学作业——社会网络中的信息传播优化问题
- 线上云酒馆是什么?线上云酒馆怎么开发?
- java计算机毕业设计宠物医院管理源码+数据库+系统+lw文档+部署
- 支付宝对账查询+文件下载+解压+遍历文件+读文件
- S2B2C商城系统平台功能模块分析,加速医药制造企业数字化转型落地
- eclipse配置mybatis的dtd文件
- 人脸属性分析--性别、年龄和表情识别,及其相关的数据集合