美文网首页
perl听课笔记04【P20-P24 】

perl听课笔记04【P20-P24 】

作者: 医只蜗牛 | 来源:发表于2021-07-20 10:58 被阅读0次

书接上文:https://www.jianshu.com/p/c50abf3a5549

【P20】Perl哈希

image.png

(1)哈希简介

image.png
image.png
image.png
image.png
image.png
image.png
image.png
@是数组,%是哈希
依次往下,所以运行可能比较慢
一一对应,不从上往下累加

【P21】Perl哈希的操作

不推荐下一个赋值方法,可能与前面有重合
image.png
image.png
这种一般是结合foreach才使用
这里与Python不同,B仅仅赋值给A,其中一个改变对另一个不会有影响
image.png
image.png
这里food有引号,所以用了反斜杠

大括号之间有逗号隔开


image.png
注意:这里加不加引号都不会将数字123打印出来,会默认加上引号(健默认加引号)
这里是对单个进行修改
如果对整个进行修改的话会覆盖原来的hash
image.png
如果一个hash有多个健,删除一级键,后面的是否会保留:看例子
image.png
image.png
image.png
image.png
image.png
image.png

hashB打印出来的是一个地址。因为有多重关系。
add之后
多了一个lesson,【看看例子】
hashB:同样出现了96。说明hash可以有一维的 ,也允许有二维的hash存在。可以不统一。hash使用非常灵活
delete fruit:后面的二级hash也被删除了。
delete book green后,好像地址没有变化,但是green已经不在了。


image.png
image.png
image.png
image.png
image.png
image.png
注意看food值不一样,也就是后面会覆盖前面的

【23】Perl哈希函数

image.png
这个时候,flag值为1.如果是空值的话,返回值也是1
image.png
image.png
image.png
image.png

each相当于读取一个地址,且每次读取完后会向下跳一个空格。hash定了之后,地址就定了。
他会一级一级往下走,直到没有了。
while里面每次进行取值操作,打印出来。


image.png
image.png
image.png
来自系统变量
键变成值,值变成键
image.png
image.png
image.png
image.png
image.png
将hash_A键和列表取出来,形成数组,然后赋值给key

下面是一样的
这里的下一级键指的是,只能取到第一级健,取不到第二级键。


打印hash键,打印hash值
如果想打印hash后面的值的话,就得用下面这个代码
首先取得第一级键,打印出来,然后对其和hashB组合到一起,形成新的hash。然后此时再打印出来,就可以了。
注意hash的键和值是随机的,按照系统最优选择
这里没有hashB中没有按照顺序来。
image.png
image.png
多维的取的是下一级的地址,也就是第一级的地址
对于value可以理解成,foreach结合key来使用一次。打印出来的跟这个结果是一样的

【23】Perl哈希的使用

image.png
返回的是一级键
image.png
image.png

1/8:1指得是这个hash所使用内存,8指的是系统分配给hash的内存。
1/8不是长度,而是使用效率


image.png
这两个是将hash的键取出来,变成数组,然后求数组的长度
image.png
字符串,数值排序
image.png
image.png
image.png
将hash中key(键)取值变成数组key,然后sort排序(这里是按照字符串)
image.png
这里不能直接sort{$a...$b},如果这样的话,取值是键。

加上Shash_class{S a}代表取值是数字。也就是值。


这两个数值相同,排序是随机的,如果要有顺序的话,最后面的限定
image.png
image.png
这三个代表同一个地址
image.png
image.png
image.png
image.png
image.png
image.png

【24】Perl哈希的综合实例

image.png
image.png
image.png
image.png
总共有176行,前面是给定的hash。第一级键是学生姓名。第二级键是各科成绩。No是学号
image.png
image.png
image.png
其他的都是一样的遍历
image.png
image.png
image.png
image.png
image.png
image.png

相关文章

网友评论

      本文标题:perl听课笔记04【P20-P24 】

      本文链接:https://www.haomeiwen.com/subject/pbqkmltx.html