赞
踩
6.1 字典的概念
在现实生活中,字典可以查询某个词的语义,即词与语义建立了某种关系,通过词的索引便可以找到对应的语义,如图所示。
在Python中,字典也如现实生活中的字典一样,使用词-语义进行数据的构建,其中词对应键(key),词义对应值(value),即键与值构成某种关系,通常将两者称为键值对,这样通过键可以快速找到对应的值。
字典是由元素构成的,其中每个元素都是一个键值对,具体示例如下:
示例中,字典由3个元素构成,元素之间用逗号隔开,整体用大括号括起来。每个元素是一个键值对,键与值之间用冒号隔开,如’name’:‘xiaoqian’,'name’是键,'xiaoqian’是值。
因为字典是通过键来索引值的,所以键必须是唯一的,而值并不唯一,具体示例如下:
示例中,字典中有两个元素的键为’name’,有两个元素的值为98.5。若通过print(student)输出字典,则得到以下输出结果:
从上述结果可看出,如果字典中存在相同键的元素,那么只会保留后面的元素。
另外,键不能是可变数据类型,如列表,而值可以是任意数据类型,具体示例如下:
上述语句在程序运行时会引发错误。
通过上面的学习,可以总结出字典具有以下特征:
字典中的元素是以键值对的形式出现的。
键不能重复,而值可以重复。
键是不可变数据类型,而值可以是任意数据类型。
6.2 字典的创建
了解了字典的概念后,接下来创建一个字典,具体示例如下:
上述语句创建了一个空字典,也可以在创建字典时指定其中的元素,具体示例如下:
字典中值可以取任何数据类型,但键必须是不可修改的,如字符串、元组,具体示例如下:
此外,还可以使用dict()来创建字典,如例所示。
此外,dict()还可以通过设置关键字参数创建字典,如例所示。
6.3 字典的常用操作
在实际开发中,字典使得数据表示更加完整,因此它是应用最广的一种数据类型。想要熟练运用字典,就必须熟悉字典中常用的操作。
6.3.1 计算元素个数
字典中元素个数可以通过len()函数来获取,如例所示。
运行结果如图所示。
6.3.2 访问元素值
列表与元组是通过下标索引访问元素值,而字典是通过元素的键来访问值,如例所示。
有时不确定字典中是否存在某个键而又想访问该键对应的值,则可以通过get()函数实现,如例所示。
运行结果如图所示。
6.3.3 修改元素值
字典中除了通过键访问值外,还可以通过键修改值,如例所示。
运行结果如图所示。
6.3.4 添加元素
通过键修改值时,如果键不存在,则会在字典中添加该键值对,如例所示。
此外,还可以通过update()函数修改某键对应的值或添加元素,如例所示。
运行结果如图所示。
6.3.5 删除元素
删除字典中的元素可以通过“del 字典名[键]”实现,如例所示。
如果想删除字典中所有元素,则可以使用clear()实现,如例所示。
注意使用“del 字典名”可以删除字典,删除后,字典就完全不存在,如例所示。
运行结果如图所示。
6.3.6 复制字典
有时需要将字典复制一份以便用于其他操作,这样原字典数据不受影响,这时可以通过函数copy()函数来实现,如例所示。
运行结果如图所示。
6.3.7 成员运算
字典中可以使用成员运算符(in、not in)来判断某键是否在字典中,如例所示。
运行结果如图所示。
6.3.8 设置默认键值对
有时需要为字典中某个键设置一个默认值,则可以使用setdefault()函数,如例所示。
运行结果如图所示。
6.3.9 获取字典中的所有键
keys()函数可以获取字典中所有元素的键,如例所示。
运行结果如图所示。
6.3.10 获取字典中的所有值
values()函数可以获取字典中所有元素键所对应的值,如例所示。
运行结果如图所示。
6.3.11 获取字典中所有的键值对
items()函数可以获取字典中所有的键值对,如例所示。
此外,items()函数与for循环结合可以遍历字典中的键值对,如例所示。
运行结果如图所示。
6.3.12 随机删除元素
popitem()函数可以随机返回并删除一个元素,如例所示。
此外,pop()函数可以根据指定的键删除元素,如例所示。
运行结果如图所示。
6.4 集合的概念
集合是由一组无序排列且不重复的元素组成,具体示例如下:
集合使用大括号表示,元素类型可以是数字类型、字符串、元组,但不可以是列表、字典,具体示例如下:
使用大括号创建的集合属于可变集合,即可以添加或删除元素。此外,还存在一种不可变集合,即不允许添加或删除元素。
接下来演示创建这两种集合的方法,如例所示。
集合的一个重要用途是将一些数据结构中的重复元素去除,如例所示。
运行结果如图所示。
6.5 集合的常用操作
同其他数据类型类似,集合也有一系列常用的操作,例如添加元素、删除元素等。通过这些操作,可以很方便地处理集合。
6.5.1 添加元素
集合中添加元素可以使用add()和update()函数,如例所示。
运行结果如图所示。
6.5.2 删除元素
集合中删除元素可以使用remove()和discard()函数,如例所示。
运行结果如图所示。
6.5.3 集合运算
集合可以参与多种运算,如表所示。
接下来演示这些运算的用法,如例所示。
6.5.3 集合运算
除了上述运算符外,还可以通过union()、intersection()与difference()函数实现集合的并集、交集与差集,如例所示。
运行结果如图所示。
6.5.4 集合遍历
集合可以通过for循环遍历其中的元素,如例所示。
运行结果如图所示。
6.6 字典推导与集合推导
字典推导与列表推导相似,它将推导出一个字典,具体示例如下:
字典推导使用大括号包围,并且需要两个表达式,一个生成key,一个生成value,两个表达式之间使用冒号分隔,结果返回字典。若通过print()打印dict1,则输出结果为:
上述就是一个简单的字典推导,接下来演示稍微复杂的字典推导,如例所示。
运行结果如图所示。
集合推导也与列表推导相似,只需将中括号改为大括号,具体示例如下:
集合推导将返回一个集合。若通过print()打印set1,则输出结果为:
接下来演示集合推导的用法,如例所示。
运行结果如图所示。
6.7 小案例
6.7.1 案例
小千、小锋与小明在扣丁学堂上学习几门不同的IT课程,每人已经学习的课时数也不同,现用字典保存每人学习的课程与课时数,统计Python课程的总课时数,具体实现如例所示。
运行结果如图所示。
本章小结
本章主要介绍了Python中的字典与集合,两者都使用大括号表示。字典中每个元素都是由键与值组成的,其中键为不可变类型,而值可以为任意类型。字典在实际开发中经常使用,大家应熟练掌握其常用操作。集合是由一组无序排列且不重复的元素组成的,经常用于去重。集合在实际开发中使用不多,大家只需了解即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。