马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 鱼C-小师妹 于 2022-5-17 15:33 编辑
在线视频:
“黄页”起源于北美洲,1880 年世界上第一本黄页电话号簿在美国问世,至今已有 100 多年的历史。
黄页是国际通用按企业性质和产品类别编排的工商电话号码簿,相当于一个城市或地区的工商企业的户口本。
国际惯例用黄色纸张印制,故称黄页。
这次我们手动实现一个简易黄页查询系统~
有同学会问了:
没错,市面上的查询系统肯定要用到各种数据库。
但我们这次通过 Python 中的:
dict 是 dictionary 的缩写,其实和我们日常所用到的字典一样。
我们是怎么查字典呢?
肯定不能从字典的第一页开始翻,也不能从字典的中间某一页开始翻。
最常见的查字典方法是音序查字法,也就是根据拼音来查找汉字。
查找过程大致如下:
先查找汉字的拼音首字母,再查找拼音的第2个字母,再查找第3个字母……依次进行,就可以快速跳转到待查汉字的所在位置。
查字典的思路,就是哈希表的思想。
哈希表,又称为散列表,是一种通过给定关键字的值访问具体对应值的数据结构。
简单地说,就是把关键字映射到一个表中来直接访问记录,以加快访问速度。
小师妹之前有介绍的破解密码视频就是基于哈希表实现。
我们通常把这个关键字称为 Key,把对应的数据记录称为 Value,通过 Key 访问映射表,即可快速得到Value的地址。
而这个存放记录的数组,就叫作哈希表啦~
我们就用哈希表来实现黄页吧。
要想实现黄页的创建、查找、修改、删除联系人功能。
首先要将联系人姓名与其电话号码联系起来对不对,这是最重要的信息。
也就是将联系人姓名作为哈希表的 key,对应的电话号码作为哈希表的 vaule。
利用名字,可查找对应的电话号码。
为黄页簿添加联系人时,可以增加联系人手机号,还可以修改联系人信息。
当不想再与某人有联系时,可以删除该联系人。
创建哈希表很简单,一行代码:
为了简化信息,我们联系人信息就保留名字和电话:
informationBook = dict(小甲鱼 = '188-8888-****',小由鱼='123-4555-****',小田鱼='136-9475-****',小电鱼='137-1734-****',小申鱼='123-1238-****')
接下来先来查找已有的联系人。
例如,查找小甲鱼的电话号码,代码如下:
print("小甲鱼的电话号码是:", informationBook['小甲鱼'])
就会打印出:
此时哈希表的 key 值是“小甲鱼”,通过查找,最后的 value 值是 188-8888-****,完成查找。
添加新的联系人及其联系方式。
例如,添加小师妹的电话号码,代码如下:
informationBook['小师妹']="166-6666-66**"
现在输出全部哈希表:
我们还可以修改某项的值,例如将小由鱼电话变成新值:
informationBook['小由鱼']="122-2222-22**"
接下里删除已存在的联系人“小电鱼”:
del informationBook['小电鱼']
此时全表中就没有小电鱼了:
从结果来看,已经没有了小电鱼及其电话号码,说明已经删除了此联系人。
好啦,最基本的几个操作就在这里啦,关于哈希表的更多玩法,我们日后有机会会介绍道~
下课! |