字典语义与用途

文章介绍了Python中的字典数据结构,强调其作为无序集合的特点,键值对的组成方式,以及键的哈希性和唯一性对高效查询的重要性。通过与列表对比,突出了字典在大量数据查找上的优势和在构建数据库表中的应用价值。
摘要由CSDN通过智能技术生成

        Python里的字典也是一种集合类型,既然是集合那就是一堆数据用逗号间隔,用花括号括起来。定义看上去和之前的列表、字符串、元组很相似,关键是字典这类集合里数据很特殊!字典里的每项数据不是一个单纯的数据而是称之为一对儿的数据组合,即字典的每项数据有两项且用分号间隔,分号前称之为键key,分号后称之为值value,例如"a" : 12、"liming" : 13类似这样的构成字典的一项数据。

d = {1 : 2, "a" : 13, 12.4 : 77}
print d

 

程序执行结果:

{'a': 13, 1: 2, 12.4: 77}
 

看上去好乱!别急,首先要看到,字典d定义时的顺序和打印输出顺序不完全一致,这说明字典真的是无序的集合。另外作为键的可以是任意类型的数据均可,不像索引必须是整形,这是字典这种数据类型的一个重要特点。字典的键要求必须是能够哈希的、唯一不重复,因此字典的键的哈希值应该在对象的生命周期中是不会变的,这样数据查询效果更高、更快,这也就是字典这种集合类型存在的现实意义。如果还未明白字典的意图,可以看下面的例子:

a = [70, 89, 98, 65]
b = {"liming" : 98, "libo" : 89, "wanli" : 70, "xili" : 65}

 

对于列表a存储了四个数据,对于字典b实际也存储了四个数据,对于列表a怎样知道"libo"的成绩是多少了?但有了字典这种数据可以在b里很可查到"libo"的成绩。尤其是在数据量很大的情况下从列表里找出数据要比从字典里找到某数据要慢的多。通过字典可以构造出类似于数据库里的数据表,这样应用时查询也就更符合实际应用了。

d = {"liming" : 98, "wangli":95, "mali":90, "liping" : 88}
print d
print d["wangli"]

 

程序执行结果:

{'liming': 98, 'wangli': 95, 'liping': 88, 'mali': 90}
95

 

字典d等价于下面的一张表格

姓名

成绩

liming

98

wangli

95

liping

88

mali

90

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hamilton_Huan

原创不易,结合业务原创更不易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值