版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
筐鱼梧领凤峡匪跑脚凡辅乒踪勿久褂舟婴袭剪肚爹伦甄啸镣娟附卉态再骂广东农工商职业技术学院PPT模板-精美原创毕业论文答辩广东农工商职业技术学院PPT模板-精美原创毕业论文答辩项目6常用数据结构目录|CONTENT1项目介绍2项目目标3项目准备4项目实施项目介绍项目背景数据结构是计算机存储、组织数据的方式,是相互之间存在一种或多种特定关系的数据元素的集合,是用来存储一组相关数据的。在大数据时代,程序中不仅要处理数字、字符串这些基础类型的数据,还需要处理混合数据。为此,Python定义了可以表示混合数据的组合数据类型。Python中常见的数据结构可以统称为容器(container),根据组织方式的不同,可以分成:如列表、元组、字符串)、映射(如字典)以及集合(set)。项目介绍项目规划01熟悉序列的基本概念02熟练掌握序列、集合、映射类型的概念、特点和基本操作03理解可迭代(Iterable)对象与迭代器(Iterator)的概念目录|CONTENT1项目介绍2项目目标3项目准备4项目实施项目目标知识目标1熟悉序列的基本概念2掌握序列、集合、映射类型的概念3理解可迭代(Iterable)对象与迭代器(Iterator)的概念项目目标能力目标1熟练掌握序列、集合、映射类型的基本操作2熟悉各种类型之间的相互转换方法3了解列表推导式、字典推导式、集合推导式、生成器推导式的基本用法目录|CONTENT1项目介绍2项目目标3项目准备4项目实施项目准备1.序列Python中的字符串、列表和元组数据类型都是序列。在Python中,所有序列类型都可以进行某些特定的操作。这些操作包括:索引(indexing)、分片(slicing)、加(adding)、乘(multiplying)以及检查某个元素是否属于序列的成员。除此之外,Python还有计算序列长度、找出最大元素和最小元素的内建函数。项目准备2.列表list列表是Python中最基本的数据类型。列表将由若干数据作为元素的序列放置在一对方括号中,元素之间以逗号分隔。Python列表元素可以由任意类型的数据构成。同一列表中各元素的类型可以各不相同。列表中的元素允许重复。此外,Python列表是可以修改的,修改方式包括:增(向列表添加元素)、删(从列表删除元素)、改(对列表的某个元素进行修改)、查(访问列表中的元素)。项目准备3.元组tuple元组和列表十分相似,由不同的元素组成,每个元素的数据类型可以各不相同,如字符串、数字和元组等。元组和列表有两大不同点:一是元组用圆括号括起;二是元组是不可变对象,是不可更改的。元组创建之后就不能修改、添加、删除成员。元组的不可变特性使其在处理数据时效率较高,而且可以防止出现误修改操作。由于元组内容无法修改,所以元组的操作主要分为创建和查找两种。项目准备4.列表与元组之间的转换元组和列表之间可以互相转换。如果需要修改元组内容,可以将元组转换成列表之后进行修改,修改后再转换回元组。列表转换成元组元组转换成列表项目准备5.字典字典是Python中唯一内建的映射类型,用花括号“{}”作为边界,元素之间以逗号分隔,每个元素是一对键(key)和值(value),键和值之间用英文冒号分隔。键不能重复,每一个值都有一个对应的键,语法如下:{key1:value1,key2:value2,key3:value3,…,keyN:valueN}字典可通过数据key查找关联数据value。键可以是任何不可修改类型的数据,如数值、字符串和元组等,列表是可变的,不能作为字典的键;而键对应的值可以是任何类型的数据。Python中字典的元素没有特殊的顺序,因此不能像序列那样通过位置索引来查找成员数据,字典的显示次序由字典在内部的存储结构决定。项目准备6.列表、元组与字典之间的转化列表、元组、字典之间的转换关系项目准备7.集合集合是一组用“{}”括起来的无序不重复元素,元素之间用逗号分隔。元素可以是各种类型的不可变对象。Python提供了集合类型set,用于表示大量无序元素的集合。集合的操作包括:创建、访问、添加、删除、运算。项目准备8.可迭代(Iterable)对象与迭代器(Iterator)可迭代(Iterable)对象与迭代器(Iterator)是Python中管理数据的更高级的抽象,了解这两类对象的概念和使用方法,有助于更高效的操作Python的常用数据结构。可迭代(Iterable)对象迭代器(Iterator)项目准备9.推导式推导式(comprehensions),又称解析式。可以把推导式理解为循环语句的变形,所有循环语句能够实现的功能,推导式都可以实现,而且形式更简洁。Python中提供了列表推导式、字典推导式和集合推导式,但并未提供元组推导式。项目准备10.序列解包序列解包(SequenceUnpacking)是Python语言赋值语句的一种技巧和方法,在Python中经常用到。多变量同时赋值一个对象值赋给多个变量目录|CONTENT1项目介绍2项目目标3项目准备4项目实施项目实施任务6.1将输入升序输出列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表带有很多操作方法,reverse倒序就是其中一个,本次实验通过调用reverse来了解python中的列表。项目实施任务6.1将输入升序输出建立“列表元素倒序.py”文件,用于编写Python实验程序。编写任务代码。#定义一个数字列表numberList=[5,3,1,7,9,2,8,1,4,7,3]#将数字列表倒序排序numberList.reverse()#直接打印数字列表print(numberList)项目实施任务6.1将输入升序输出执行程序①用鼠标右键单击右侧编辑窗口,在菜单中选择“Run‘python主程序所在文件名’”一项执行编写好的Python程序,本次实验文件名为“列表元素倒序”②在IDE下方控制台查看输出结果项目实施任务6.2去重Python中包含列表list和集合set等类型,list可以包含重复值,而set不可以包含重复值。利用set的这个特性,我们可以实现对list的去重效果。项目实施任务6.2去重建立“去重.py”文件,用于编写Python实验程序。编写任务代码。#创建一个数字列表numberList=[5,3,1,7,9,2,8,1,4,7,3]#使用set函数将数字列表转换为Set集合实现去重,再通过list函数转换回列表,接着使用for循环进行遍历输出foreleinlist(set(numberList)):print(ele)项目实施任务6.2去重执行程序①用鼠标右键单击右侧编辑窗口,在菜单中选择“Run‘python主程序所在文件名’”一项执行编写好的Python程序,本次实验文件名为“去重”②在IDE下方控制台查看输出结果项目实施任务6.3对调KV计算最小值及最大值Python中包含列表list和集合set等类型,list可以包含重复值,而set不可以包含重复值。利用set的这个特性,我们可以实现对list的去重效果。项目实施任务6.3对调KV计算最小值及最大值建立“对调KV计算最小值及最大值.py”文件,用于编写Python实验程序。编写任务代码。#定义一个字典类型数据集fromcollectionsimportOrderedDictif__name__=='__main__':prices={'ACME':45.23,'APPL':612.78,'IBM':205.55,'HPQ':37.20,'FB':10.75}#将字典数据集key与value进行反转,计算最大值最小值并打印print(min(zip(prices.values(),prices.keys())))print(max(zip(prices.values(),prices.keys())))项目实施任务6.3对调KV计算最小值及最大值执行程序①用鼠标右键单击右侧编辑窗口,在菜单中选择“Run‘python主程序所在文件名’”一项执行编写好的Python程序,本次实验文件名为“去重”②在IDE下方控制台查看输出结果项目实施任务6.4公共键字典列表排序Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,通过key查找value,具有极快的查找速度。但是字典的存储默认是“无序”的,因此某些情况下,需要对字典进行“排序”。项目实施任务6.4公共键字典列表排序建立“公共键字典列表排序.py”文件,用于编写Python实验程序。编写任务代码。#引入itemgetter函数fromoperatorimportitemgetter#定义一个字典数据集列表,并将列表中数据分别按照shares字段及price字段进行排序if__name__=='__main__':portfolio=[{'name':'IBM','shares':100,'price':91.1},{'name':'AAPL','shares':50,'price':143.22},{'name':'FB','shares':200,'price':21.09},{'name':'HPQ','shares':35,'price':31.75},{'name':'YHOO','shares':45,'price':16.35},{'name':'ACME','shares':75,'price':115.65}]byshares=sorted(portfolio,key=itemgetter('shares'))byprice=sorted(portfolio,key=itemgetter('price'))print(byshares)print(byprice)项目实施任务6.4公共键字典列表排序执行程序①用鼠标右键单击右侧编辑窗口,在菜单中选择“Run‘python主程序所在文件名’”一项执行编写好的Python程序,本次实验文件名为“公共键字典列表排序”②在IDE下方控制台查看输出结果课后练习与技能训练一、填空题练习1. Python中,通过列表中的
方法可以根据指定值查找第一个匹配的列表元素的位置。2. Python中,通过列表中的
方法可以将一个元素插入到列表的指定位置。3. 若在列表的最后添加新元素,则可以直接使用列表的
方法。4. 使用
语句可以删除某个变量或列表中的某个元素。5. 使用
方法可以获取一个列表中最大元素的值。6. 使用
方法可以获取一个列表中最小元素的值。课后练习与技能训练一、填空题练习7. 使用列表中的
方法可以统计某个值在列表中出现的次数。8. Python中集合有两种插入元素的方法,分别是
和
。9. 集合中的
方法可以用于判断一个集合是否是另一个集合的子集。10. 集合中的
方法可以用于判断一个集合是否是另一个集合的父集。11. 使用del可以删除某个元素,也可以使用字典中的
方法删除指定键的元素。课后练习与技能训练一、填空题练习12. 使用字典中的
方法可以一次将一个字典中的所有元素都清除。13. 判断字典中是否存在某个键可以使用字典中的
方法,也可以使用成员运算符in。14. 已知ls=[x*2forxinrange(5)],则print(ls)的输出结果为
。15.
是指可以通过next函数不断获取下一个值的对象。课后练习与技能训练二、选择题练习1. 下列属于可变类型的是()Q. 列表R. 元组S. 字符串T. 数字课后练习与技能训练二、选择题练习2. 下列叙述正确的是()A. 列表和元组都是用一对中括号括起来的多个元素的有序集合,各元素之间用逗号分隔B. 列表是用一对中括号括起来的多个元素的有序集合,各元素之间用逗号分隔,元组是用一对小括号括起来的多个元素的有序集合,各元素之间用逗号分隔C. 列表是用一对小括号括起来的多个元素的有序集合,各元素之间用逗号分隔,元组是用一对中括号括起来的多个元素的有序集合,各元素之间用逗号分隔D. 列表和元组都是用一对小括号括起来的多个元素的有序集合,各元素之间用逗号分隔课后练习与技能训练二、选择题练习3. 关于复制列表元素说法错误的是()A. Python中,通过赋值运算实际上是将两个变量指向同一个对象,而不是将一个变量的值赋给另一个变量。B. 采用元素截取的方法,可以根据一个已有列表对象复制出另一个新的列表对象,后面对两个对象的操作完全独立C. 如果一个列表中包含列表类型的元素,元素截取的方法完全可行,两个列表中的相同列表类型的元素完全独立D. 为了真正实现列表的复制操作,可以使用Python在copy模块中提供的deepcopy函数课后练习与技能训练二、选择题练习已知学生类中有属性name和sno,列表ls中含有若干学生对象,若要求列表ls按照学生的姓名的降序排序,相应的语句是()A. ls.sort(key=lambdastu:,reverse=True)B. ls.sort(key=lambdastu:)C. ls.sort(key=name,reverse=True)D. ls.sort(name)课后练习与技能训练二、选择题练习下列叙述错误的是()可以使用一对大括号{}或set函数创建集合可以使用一对大括号{}或dict函数创建字典可以使用{}或set()创建空集合可以使用{}或dict()创建空字典课后练习与技能训练二、选择题练习6.已知定义:d=dict(sno='1810100',name='李晓明',age=19,t=(3,4),s=[3,4,5])则len(d)的值为()5678课后练习与技能训练二、选择题练习7. 已知字典d,获取字典中键值集合的语句是()
A. d.items()B. d.values()C. d.keys()D. d.get()课后练习与技能训练二、选择题练习8. 下列有关生成器叙述错误的是()A. 将列表生成表达式中的一对中括号改为一对小括号即可得到生成器B. 对于生成器对象,也可以像其他可迭代对象一样使用for循环遍历对象中的每一个元素C. 如果生成元素的方法比较复杂,不适合用for循环方式实现,我们还可以借助yield关键字利用函数实现生成器的功能D. 生成器就是一次性在内存中产生大量列表元素,占用大量的内存空间课后练习与技能训练二、选择题练习关于说法正确的是()A. 列表是可迭代对象、但不是迭代器;同样,生成器是可迭代对象、但不是迭代器B. 列表是可迭代对象、但不是迭代器;而生成器既是可迭代对象、又是迭代器C. 列表既是可迭代对象、又是迭代器;而生成器是可迭代对象、但不是迭代器D. 列表既是可迭代对象、又是迭代器;而生成器是迭代器、但不是迭代对象课后练习与技能训练三、简答题练习1.写出下面程序的运行结果。t1=("zhangsan",18,95.5)t2=()t3=(33,)t4=([44,55,66])t5=t1+t3print(t1,t2,t3,t4,t5)print(t5)print(max(t4))print(min(t4))课后练习与技能训练三、简答题练习2.写出下面程序的运行结果。ls=[1,2,3,2,3,4]print(ls.index(4))print(ls.count(3))print(max(ls))print(min(ls))print(len(ls))dells[3]print(ls)ls.sort(reverse=True)print(ls)课后练习与技能训练三、简答题练习3.写出下面程序的运行结果。importcopys1=[4,5,6]s2=s1s2[1]="nk"print(s1,s2)s3=s1[1:3]s3[1]="cn"print(s1,s3)s4=copy.deepcopy(s1)s4[1]=333print(s1,s4)s5=[4,[5,6]]s6=s5[1:3]s5[1][0]="cn"print(s5,s6)s7=copy.deepcopy(s5)s7[1]="nk"print(s5,s7)课后练习与技能训练三、简答题练习4.写出下面程序的运行结果。s1={1,2,3}s2=set([2,3,3,4])s1.add(3)s2.update('ab')s3=ersection(s2)s4=s1.union(s2)s5=s1.difference(s2)s6=s1.symmetric_difference(s2)print(s1)print(s2)print(s3)print(s4)print(s5)print(s6)课后练习与技能训练三、简答题练习5.写出下面程序的运行结果。d1={'name':"zhangsan",'sno':"001",'score':99}d2=dict().fromkeys(['radius','heig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中生物 重点强化练43 人类遗传病及其调查实验
- 高中化学 加练 第十二章 微题型110 沉淀溶解平衡
- 基本不等式(一)-高一上学期数学课时作业人教版A版(含解析)
- 村庄混凝土道路施工方案(3篇)
- 槽形梁施工方案(3篇)
- 洛阳水源井施工方案(3篇)
- 清洗外墙施工方案模板(3篇)
- 瓷砖上墙施工方案(3篇)
- 病人咯血的应急预案(3篇)
- 私域营销的方案(3篇)
- 工艺纪律检查方案
- 江苏盐城东台市2026年专职网格员招聘考试试卷-含答案解析
- 2026年CCAA国家注册审核员考试(有机产品认证基础)复习题及答案
- 汽车维修管理制度大全
- 2026年初级注册安全工程师《安全生产专业实务(其他安全)》真题试卷(附答案解析)
- 药剂师招聘笔试题试题集详解
- 胆南星临床应用现状
- 原材料采购价格监督制度
- 方言词汇调查条目表
- 疼痛管理与康复医学
- 国企集团公司各岗位廉洁风险点防控表格(廉政)范本
评论
0/150
提交评论