内容正文:
课程名称
第6章 字典与集合
计划学时
4学时
内容分析
本章主要介绍字典的概念、字典的创建、字典的常用操作、集合的概念、集合的常用操作、字典推导与集合推导、小案例
教学目标
与
教学要求
要求学生理解字典的概念、掌握字典的创建、掌握字典的常用操作、了解集合的概念、了解集合的常用操作
教学重点
字典的创建、字典的常用操作、集合的常用操作、字典推导与集合推导
教学难点
字典的常用操作、集合的常用操作、字典推导与集合推导
教学方式
课堂讲解及ppt演示
教
学
过
程
第一课时
(字典的概念、字典的创建、字典的常用操作)
字典的概念
在现实生活中,字典可以查询某个词的语义,即词与语义建立了某种关系,通过词的索引便可以找到对应的语义,如图6.1所示。
图6.1 字典
在Python中,字典也如现实生活中的字典一样,使用词-语义进行数据的构建,其中词对应键(key),词义对应值(value),即键与值构成某种关系,通常将两者称为键值对,这样通过键可以快速找到对应的值。
字典是由元素构成的,其中每个元素都是一个键值对,具体示例如下:
student = {'name': '小千', 'id': 20190101, 'score': 98.5}
示例中,字典由3个元素构成,元素之间用逗号隔开,整体用花括号括起来。每个元素是一个键值对,键与值之间用冒号隔开,如'name':'xiaoqian','name'是键,'xiaoqian'是值。
因为字典是通过键来索引值的,所以键必须是唯一的,而值并不唯一,具体示例如下:
student = {'name': '小千', 'name': '小锋', 'score1': 98.5, 'score2': 98.5}
示例中,字典中有两个元素的键为'name',有两个元素的值为98.5。若通过print(student)输出字典,则得到以下输出结果:
{'name': '小锋', 'score1': 98.5, 'score2': 98.5}
从上述结果可看出,如果字典中存在相同键的元素,那么只会保留后面的元素。
另外,键不能是可变数据类型,如列表,而值可以是任意数据类型,具体示例如下:
student = {['name', 'alias']: '小千'} # 错误
上述语句在程序运行时会引发错误。
通过上面的学习,可以总结出字典具有以下特征:
· 字典中的元素是以键值对的形式出现的。
· 键不能重复,而值可以重复。
· 键是不可变数据类型,而值可以是任意数据类型。
字典的创建
了解了字典的概念后,接下来创建一个字典,具体示例如下:
dict1 = {}
上述语句创建了一个空字典,也可以在创建字典时指定其中的元素,具体示例如下:
dict2 = {'name': '小千', 'id': 20190101, 'score': 98.5}
字典中值可以取任何数据类型,但键必须是不可修改的,如字符串、元组,具体示例如下:
dict3 = {20190101: ['小千', 100], (1101, '大一'):['小锋', 99]}
此外,还可以使用dict()来创建字典。
此外,dict()还可以通过设置关键字参数创建字典。
字典的常用操作
在实际开发中,字典使得数据表示更加完整,因此它是应用最广的一种数据类型。想要熟练运用字典,就必须熟悉字典中常用的操作。
· 计算元素个数
字典中元素个数可以通过len()函数来获取。
· 访问元素值
列表与元组是通过下标索引访问元素值,字典则是通过元素的键来访问值。
有时不确定字典中是否存在某个键而又想访问该键对应的值,则可以通过get()函数实现。
· 修改元素值
字典中除了通过键访问值外,还可以通过键修改值。
· 添加元素
通过键修改值时,如果键不存在,则会在字典中添加该键值对。
此外,还可以通过update()函数修改某键对应的值或添加元素。
· 删除元素
删除字典中的元素可以通过“del 字典名[键]”实现。
如果想删除字典中所有元素,则可以使用clear()实现。
注意使用“del 字典名”可以删除字典,删除后,字典就完全不存在了。
· 复制字典
有时需要将字典复制一份以便用于其他操作,这样原字典数据不受影响,这时可以通过函数copy()来实现。
· 成员运算
字典中可以使用成员运算符(in、not in)来判断某键是否在字典中。
· 设置默认键值对
有时需要为字典中某个键设置一个默认值,则可以使用setdefault()函数。
· 获取字典中的所有键
keys()函数可以获取字典中所有元素的键。
· 获取字典中的所有值
values()函数可以获取字典中所有元素键所对应的值。
· 获取字典中所有的键值对
items()