专题06 字典和集合-高中信息技术特色专项

2024-07-08
| 2份
| 26页
| 189人阅读
| 3人下载
精品

资源信息

学段 高中
学科 信息技术
教材版本 -
年级 高一
章节 -
类型 课件
知识点 Python语言基础
使用场景 同步教学-新授课
学年 2024-2025
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 3.39 MB
发布时间 2024-07-08
更新时间 2024-07-16
作者 学科网精品工作室
品牌系列 -
审核时间 2024-07-08
下载链接 https://m.zxxk.com/soft/46208715.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

专题06 字典和集合 信息技术特色专项 授课教师: 日期:2024.0.1.01 学习目标 01 02 掌握字典的创建方法 掌握字典的遍历方法 理解集合的概念 掌握集合的创建及基本操作方法 03 04 学习目录 字典 01 集合 02 PART 01 字典 01 字典是Python中常用的一种数据存储结构,它是由“键-值”对组成,每个“键-值”对称为一个元素,每个元素表示一种映射或对应关系。 “键”可以是Python中任意不可变数据,如整数、实数、复数、字符串、元组等类型,但不能使用列表、集合、字典或其他可变类型作为字典的“键”。 “值”可以取任意数据类型。 字典的创建 02 1. 直接赋值创建字典的一般格式如下: 变量名 = {键1:值1, 键2:值2, 键3:值3,…} 例如: >>>stu_info = {'num':'20180101', 'name':'Liming', 'sex':'male'} #创建字典 >>>stu_info #查看字典 {'name':'Liming', 'num':'20180101', 'sex':'male'} 字典中元素打印出来的顺序与创建时的顺序不一定相同,这是因为字典中各个元素并没有前后顺序。 字典的创建 03 字典的创建 2.使用内置函数dict()创建字典 还可以用内置函数dict()通过其他“字典”、“(键,值)”对的序列或关键字参数来创建。 例:使用内置函数dict()创建字典。 stu_info1 = {'num':'20180101', 'name':'Liming', 'sex':'male'} #直接赋值创建字典 stu_info2 = dict(stu_info1) #通过其他字典创建 stu_info3 = dict([('num', '20180101'), ('name', 'Liming'), ('sex', 'male')]) #通过“(键,值)”对的序列创建 stu_info4 = dict(num = '20180101', name = 'Liming', sex = 'male') #通过关键字参数创建 stu_info5 = dict(zip(['num', 'name', 'sex'], ['20180101', 'Liming', 'male'])) #通过dict和zip结合创建 if stu_info1 == stu_info2 == stu_info3 == stu_info4 == stu_info5: #判断五个变量是否相等 print("创建字典的5种方式相同") #如果相同输出提示符 else: #如果不相同 print("创建字典的5种方式不相同") #输出提示符 程序运行效果 04 知识库 字典中的“键”是唯一的,创建字典时若出现“键”相同的情况,则后定义的“键-值”对将覆盖先定义的“键-值”对。 例如: >>>x = {'a':1, 'b':2, 'b':'3'} #直接赋值创建字典x >>>x #输出字典x {'a':1,'b':'3'} 字典的访问 05 1.根据键访问值 字典中的每个元素表示一种映射关系,将提供的“键”作为下标可以访问对应的“值”,如果字典中不存在这个“键”则会抛出异常。其语法格式如下: 字典变量名[键] 例如: >>>stu_info = {'num':'20180105', 'name':'Yinbing', 'sex':'male'} #创建字典 >>>stu_info['num'] #根据num访问学号 '20180105' >>>stu_info['age'] #指定的键不存在抛出异常 Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'age' 字典的访问 06 2.使用get()方法访问值 在访问字典时,若不确定字典中是否有某个键,可通过get()方法进行获取,若该键存在,则返回其对应的值,若不存在,则返回默认值。其语法格式如下: dict.get(key[,default=None]) dict为被访问字典名 key是要查找的键 default定义默认值,如果指定键的值不存在,返回该默认值,当default为空时,返回None 例如: >>>stu_info.get('name') #get()获取学生姓名 'Yinbing' >>>stu_info.get('age') #get()获取学生年龄,返回值为None >>>print(stu_info.get('age')) #输出返回值None None >>>stu_info.get('age',18) #设置返回默认值为18 18 字典的访问 07 字典的基本操作 1.修改和添加元素 当以指定“键”为下标为字典元素赋值时,有两种含义: (1)若该“键”在字典中存在,则表示修改该“键”对应的值; (2)若该“键”不存在,则表示添加一个新的“键-值”对,也就是添加一个新元素到字典中。 例如: >>>stu_info={'num':'20180105','name':'Yinbing','age':'17'} #创建字典 >>>stu_info['age']='18' #修改age的值 >>>stu_info['age'] #输出修改后的age值 '18' >>>stu_info['sex']='male' #添加学生性别 >>>stu_info #输出添加后的字典 {'num': '20180105', 'name': 'Yinbing', 'age': '18', 'sex': 'male'} 08 字典的基本操作 2.删除元素 要删除字典中的元素或整个字典,可以使用del命令、clear()、pop()和popitem()方法。 del命令:可根据“键”删除字典中的元素。 例如: >>>stu_info={'num':'20180105','name':'Yinbing','age':'17'} #创建字典 >>>del stu_info['age'] #删除age及其值 >>>stu_info #输出删除后的字典 {'num': '20180105', 'name': 'Yinbing'} 09 字典的基本操作 clear()方法:用于清除字典中的所有元素。 例如: >>>stu_info={'num':'20180105','name':'Yinbing','age':'17'} #创建字典 >>>stu_info.clear() #清空字典 >>>stu_info #输出清空后的字典 dict.clear() dict为要被清空的字典名 该方法不包含任何参数,也没有返回值 10 字典的基本操作 例如: >>>stu_info={'num':'20180105','name':'Yinbing','age':'17'}#创建字典 >>>stu_info.pop('age') #返回并删除age“键-值”对 '17' >>>stu_info.pop('age',18) #无指定键,返回默认值18 18 dict.pop(key[,default]) dict为要被删除元素的字典名 key是要被删除的键 default是默认值,当字典中没有要被删除的key时,该方法返回指定的默认值 pop()方法:用于获取指定“键”的值,并将这个“键-值”对从字典中移除。 11 字典的基本操作 3.更新字典 update()方法:可以将新字典的“键-值”对一次性全部添加到当前字典中,如果两个字典中存在相同的“键”,则以新字典中的“值”为准更新当前字典。 dict.update(dict2) dict为当前字典 dict2为新字典 例如: >>>stu_info = {'num':'20180105', 'name':'Yinbing', 'age':'17'} #创建字典 >>>stu_info.update({'age':'18', 'sex':'male'}) #修改age的值,同时添加新元素 >>>stu_info #输出字典 {'num':'20180105', 'name':'Yinbing', 'age':'18', 'sex':'male'} 12 字典的基本操作 4.复制字典 复制字典可调用copy()方法,copy()方法返回字典的浅复制。 dict.copy() dict为需要复制的字典 该方法无参数,返回值为一个新字典 例如: >>>stu_info={'num':'20180105','name':'Yinbing','age':'17'} >>>stu_info.copy() {'num': '20180105', 'name': 'Yinbing', 'age': '17'} 知识库 在Python3中,可以用三种方法复制字典:直接赋值、浅复制和深复制。 (1)直接赋值:对象的引用。 (2)浅复制(copy()方法):拷贝父对象,引用对象内部的子对象。 (3)深复制(deepcopy()方法):copy模块的deepcopy()方法,完全复制父对象及其子对象。 PART 02 集合 01 集合的创建 集合(set)与数学中集合的概念一致,即包含0个或多个数据项的无序组合。 集合中的元素不可重复 元素类型只能是固定数据类型,如整数、浮点数、字符串、元组等 不能是列表、字典和集合等可变数据类型 Python提供了一个内置函数hash()来计算对象的哈希值,凡是无法计算哈希值(调用内置函数hash()时抛出异常)的对象都不能作为集合的元素,也不能作为字典对象的“键”。 >>>hash('Python') #计算字符串的哈希值 -5336376190899570360 >>>hash(1) #计算整型数据的哈希值 1 >>>hash([1,2,3]) #计算列表的哈希值,抛出异常 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list' 02 集合的创建 创建集合的方式很简单,只需将逗号分隔的不同元素使用大括号括起来即可。 例如: >>>a_set = {1, 2, 3, 4} #创建集合并赋值 >>>a_set #输出集合a_set {1, 2, 3, 4} >>>b_set = {2, 1, 3, 4, 1, 2} #创建集合并赋值 >>>b_set #输出集合b_set {1, 2, 3, 4} 由于集合元素是无序的,集合的打印效果与定义顺序可以不一致,且由于集合元素独一无二,使用集合类型能够过滤掉重复元素。 1.直接创建 03 集合的创建 2.使用set()函数 set()函数:将列表、元组等其他类型的数据转换为集合,如果原来的数据中存在重复元素,则在转换为集合时会将其删除。 例如: >>>x = set('runoob') #将字符串转换为集合 >>>x #输出集合x {'o', 'u', 'n', 'b', 'r'} >>>y = set(['g', 'o', 'o', 'g', 'l', 'e']) #将列表转换为集合 >>>y #输出集合y {'g', 'o', 'e', 'l'} >>>z = set() #空集合 >>>z #输出集合z set() 04 集合的创建 提示 集合类型与其他类型最大的不同在于它不包含重复元素,因此,当需要对一维数据进行去重处理时,一般可通过集合来完成。 例:将输出数据去除重复项后输出。 stu_class = { 'Mary':'C', 'Jone':'Java', 'Lily':'Python', 'Tony':'Python' } #定义字典并赋值 print('以下课程已被选择:') for cla in set(stu_class.values()): #遍历字典所有的值,调用set()将列表转换为集合从而去除重复项 print(cla) #输出每个值 05 集合的基本操作 1.添加与删除集合元素 操作函数或方法 描 述 S.add(x) 如果数据项x不在集合S中,将x添加到S中 S.update(T) 合并集合T中的元素到当前集合S中,并自动去除重复元素 S.pop() 随机删除并返回集合中的一个元素,如果集合为空则抛出异常 S.remove(x) 如果x在集合S中,移除该元素;如果x不存在则抛出异常 S.discard(x) 如果x在集合S中,移除该元素;如果x不存在不报错 S.clear() 清空集合 06 集合的基本操作 >>>s = {1, 2, 3} #创建集合并赋值 >>>s.add(4) #添加元素 >>>s.update({4, 5, 6}) #更新当前集合,自动忽略重复元素 >>>s #输出集合 {1, 2, 3, 4, 5, 6} >>>s.discard(5) #删除元素,不存在则忽略该操作 >>>s #输出集合 {1, 2, 3, 4, 6} >>>s.remove(5) #删除元素,不存在则抛出异常 KeyError:5 >>>s.pop() #删除并返回一个元素 1 07 集合的基本操作 2.集合运算 内置函数len()、max()、min()、sorted()等也适用于集合,另外,Python集合还支持数学意义上的交集、并集、差集、补集等运算。 操 作 符 描 述 S&T 交集,返回一个新集合,包括同时在集合S和T中的元素 S|T 并集,返回一个新集合,包括集合S和T中的所有元素 S-T 差集,返回一个新集合,包括在集合S中但不在集合T中的元素 S^T 补集,返回一个新集合,包括集合S和T中的元素,但不包括同时在集合S和T中的元素 S<=T 如果S与T相同或S是T的子集,返回True,否则返回False,可以用S<T判断S是否是T的真子集 S>=T 如果S与T相同或S是T的超集,,返回True,否则返回False,可以用S>T判断S是否是T的真超集 08 集合的基本操作 >>>a_set = {1, 2, 3, 4, 5} #创建集合并赋值 >>>b_set = {1, 2, 6, 7, 8} #创建集合并赋值 >>>a_set & b_set #交集 {1, 2} >>>a_set | b_set #并集 {1, 2, 3, 4, 5, 6, 7, 8} >>>a_set - b_set #差集 {3, 4, 5} >>>a_set ^ b_set #补集 {3, 4, 5, 6, 7, 8} >>>x = {1, 2, 3} #创建集合并赋值 >>>y = {2, 3} #创建集合并赋值 >>>z = {1, 2, 4} #创建集合并赋值 >>>x >= y #y是否为x的子集 True >>>x <= z #x是否为z的子集 False 感谢欣赏 $$null

资源预览图

专题06 字典和集合-高中信息技术特色专项
1
专题06 字典和集合-高中信息技术特色专项
2
专题06 字典和集合-高中信息技术特色专项
3
专题06 字典和集合-高中信息技术特色专项
4
专题06 字典和集合-高中信息技术特色专项
5
专题06 字典和集合-高中信息技术特色专项
6
所属专辑
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。