版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章组合数据类型第5章组合数据类型了解序列、集合和映射的基本概念。了解列表与元组的定义和用途。掌握列表与元组的常用方法和操作。了解字典与集合的基本定义和用途。掌握字典与集合的常用方法和操作。能够应用组合数据类型处理复杂数据。主要内容5.1组合数据类型概述5.2列表与元组5.3字典5.4集合5.5上机实践:智慧菜篮5.1组合数据类型概述组合数据类型根据数据组织方式的不同,可以分为序列类型、集合类型和映射类型3类,每种类型都有其独特的特点和适用场景。组合数据类型概述55.1.1序列类型6了解序列类型,能列举常见的序列类型并简述其共同特性。
先定一个小目标!概述序列类型是一种有序的元素集合,其中的元素按照特定的顺序排列,并且每个元素都可以通过其索引来访问。序列中的元素可以是任何数据类型,并且元素之间不排他,即序列中可以包含重复的元素。序列类型7Python中,常见的序列类型如下。(1)字符串(string):由零个或多个字符组成的序列,包括字母、数字、标点符号等。字符串是不可变的,即创建后无法修改其字符内容。(2)列表(list):一种可变的序列类型,允许在列表的任意位置插入、删除或修改元素。列表常用于存储和处理有序的数据集合,且元素可以重复。(3)元组(tuple):与列表类似,也是一种有序的序列类型。但与列表不同的是,元组是不可变的,一旦创建就不能修改其内容。序列类型8序列类型的共同特性如下。(1)索引性:序列中的每个元素都可以通过其索引来访问。(2)切片性:通过切片操作,可以方便地获取序列的一个子集。(3)可迭代性:可以使用循环结构(如for循环)来遍历序列中的每个元素。序列类型95.1.2集合类型10了解集合类型,并简述其主要特性。
先定一个小目标!概述集合类型是一种无序的、不重复的元素集合。集合类型的特性(1)元素的唯一性:集合内的元素都是唯一的,不允许出现重复。(2)无索引性:集合不支持通过索引来访问其内部的元素。(3)无序性:集合中的元素没有顺序,因此不能直接对集合进行排序操作。集合类型115.1.3映射类型12了解映射类型,并简述其主要特性。
先定一个小目标!概述映射类型是一种存储键值对的数据结构,其中每个元素都由一个键(key)和一个值(value)组成。通过键可以快速访问对应的值。在Python中,映射类型主要通过字典(dictionary)来实现。映射类型的特性如下。(1)键的唯一性:字典中的每个键都是唯一的,不同的键可以映射到相同的值,但一个键只能映射到一个值。(2)无序性:字典中的键值对没有固定的顺序,每次创建或修改字典时,键值对的顺序可能会发生变化。(3)可迭代性:可以使用循环结构来遍历字典中的键、值或键值对。映射类型13Python中组合数据类型的分类及其特点映射类型14分类 数据类型特点序列类型字符串、列表、元组通过序号访问,元素之间不排他集合类型集合没有固定的顺序,且不允许出现重复元素映射类型字典每个键都与一个值相关联,可以通过键来访问对应的值5.2列表与元组列表与元组是Python中两种重要的序列类型,可以存储多个不同类型的元素,并支持索引、切片、遍历等一系列操作。列表与元组165.2.1列表的创建与删除17掌握列表的基本概念,能够创建列表并执行删除操作。
先定一个小目标!列表(list)是Python中一种内置的可变序列数据类型。它允许存储多个不同类型的元素,如数字、字符串、布尔值等,这些元素在列表中有序排列。在形式上,列表的所有元素放在一对方括号“[]”中,相邻元素之间使用逗号分隔开。在以上代码中,list1包含了四个不同类型的元素:一个整数、一个字符串、一个布尔值以及一个浮点数。列表的创建与删除18列表的创建创建列表主要有两种方式:使用方括号[]和使用list()函数。(1)使用方括号[]创建列表直接在方括号中列出所需的元素,并使用逗号分隔。代码运行结果如下。列表的创建与删除19列表的创建(2)使用list()函数创建列表
list()函数是Python中用于从可迭代对象(iterable)创建列表的方法。可迭代对象包括但不限于元组、字符串、集合以及range对象等。
代码运行结果如下。列表的创建与删除20列表的删除当列表不再需要使用时,可以使用del语句来删除整个列表。
列表的创建与删除215.2.2列表元素的访问22掌握列表元素的访问方法,包括使用索引、切片和遍历来读取列表中的元素。
先定一个小目标!访问列表元素是列表操作的基础,通过索引、切片和遍历,可以读取列表中的元素,并为进一步的数据处理操作做准备。列表元素的访问23访问单个元素要访问列表中的单个元素,可以使用方括号[],并在其中指定所需的元素索引。此操作的语法格式如下。列表的索引是从0开始的整数,因此第一个元素的索引是0,第二个元素的索引是1,以此类推,直至最后一个元素的索引为:列表的长度-1。此外,Python还支持使用负索引来访问列表中的元素。负索引从列表的末尾开始计数,其中最后一个元素的索引为-1,倒数第二个元素的索引为-2,以此类推。注意,如尝试访问超出列表范围的索引,Python将抛出一个IndexError异常,提示“listindexoutofrange”。列表元素的访问24列表名[索引]访问单个元素使用索引访问单个元素。代码运行结果如下。
列表元素的访问25访问多个元素通过切片机制,可以一次性访问列表中的多个元素。切片操作的语法格式如下。切片操作的参数及其说明如下表。列表元素的访问26原列表名[start:end:step]参数 说明start切片的起始索引。如果省略,切片将从列表的起始位置开始end切片的结束索引(不包含该索引位置的元素)。如果省略,则持续到末尾step切片的步长。如果省略,则步长为1访问多个元素通过切片机制,访问列表中多个元素。代码运行结果如下。
列表元素的访问27遍历列表遍历列表允许程序逐一访问列表中的每个元素。几种常见的遍历列表的方法如下。(1)使用for循环遍历for循环是遍历列表的最基本且直观的方式。在每次循环迭代中,循环变量(如item)将依次被赋值为列表中的每个元素,并执行相应的操作。代码运行结果如下。列表元素的访问28遍历列表(2)使用while循环和索引遍历使用while循环结合列表的索引来遍历列表。通过len()函数确定列表的长度,并设置一个索引变量(如i)来逐个访问列表中的每个元素。代码运行结果如下。列表元素的访问295.2.3列表元素的添加、修改和删除30掌握列表元素的添加、修改和删除方法。
先定一个小目标!列表作为一种动态数据结构,提供了灵活的修改操作,允许用户添加新元素、删除已有元素以及更新现有元素的值。列表元素的添加、修改和删除311. 添加列表元素以下是添加列表元素的几种方法,这些方法允许用户以不同的方式扩展列表内容。(1)append()方法append()方法用于在列表的末尾添加一个新元素。它接受一个参数,即要添加到列表末尾的元素。代码运行结果如下。列表元素的添加、修改和删除321. 添加列表元素(2)insert()方法insert()方法用于在列表的指定位置插入一个元素。它接受两个参数:第一个参数是插入位置的索引点,第二个参数是要插入的元素。代码运行结果如下。列表元素的添加、修改和删除331. 添加列表元素(3)extend()方法extend()方法用于将一个列表的所有元素添加到另一个列表的末尾,从而扩展原有的列表。代码运行结果如下。列表元素的添加、修改和删除342. 修改列表元素修改列表元素的操作简单直接,只需通过索引指定位置并赋予新值即可。代码运行结果如下。列表元素的添加、修改和删除353. 删除列表元素以下是删除列表元素的几种方法,这些方法能够根据用户需求移除列表中的元素。(1)使用del关键字删除元素del关键字可以根据索引来删除列表中的单个元素或多个元素。当指定一个索引时,该索引位置的元素将被删除。若指定了一个索引范围(通过切片),则范围内的所有元素都将被删除。代码运行结果如下。列表元素的添加、修改和删除363. 删除列表元素(2)使用remove()方法删除元素remove()方法用于从列表中删除特定值的第一个匹配项。它不需要指定索引,而是根据元素的值来删除。如果列表中存在多个相同的值,remove()只会删除第一个匹配的元素。代码运行结果如下。列表元素的添加、修改和删除373. 删除列表元素(3)使用pop()方法删除元素pop()方法用于删除指定索引位置的元素,并返回该元素的值。如果省略索引,则默认删除并返回列表中的最后一个元素。代码运行结果如下。列表元素的添加、修改和删除383. 删除列表元素(4)使用clear()方法删除所有元素clear()方法用于清空整个列表,即删除列表中的所有元素。代码运行结果如下。列表元素的添加、修改和删除395.2.4列表的内置函数与常见方法40掌握列表的内置函数和常见方法的使用。
先定一个小目标!在处理列表数据时,了解其内置的函数和常见方法对于提高编程效率和代码可读性至关重要。这些函数和方法不仅简化了对列表的操作,还极大地扩展了列表的应用范围。列表的内置函数与常见方法41内置函数Python为列表提供了多种内置函数,这些函数能够直接应用于列表并返回相应的结果。以下是几个常用的内置函数及其功能描述。列表的内置函数与常见方法42函数名功能描述len()返回列表的长度,即列表中元素的个数sum()返回列表中所有数值元素的和max()返回列表中的最大值min()返回列表中的最小值内置函数的使用代码运行结果如下。列表的内置函数与常见方法432. 常见方法除了内置函数,列表还提供了多种方法来执行特定的操作。以下是列表的一些常见方法及其使用示例。(1)count()方法count()方法用于统计列表中某个元素出现的次数。它接受一个参数,即要统计的元素值,并返回该元素在列表中出现的次数。代码运行结果如下。列表的内置函数与常见方法442. 常见方法(2)index()方法index()方法用于查找列表中某个元素的第一个匹配项的索引位置。若元素不存在于列表中,则会报错。代码运行结果如下。列表的内置函数与常见方法452. 常见方法(3)reverse()方法reverse()方法用于将列表中的元素顺序反转,即列表的第一个元素变成最后一个,最后一个元素变成第一个,依此类推。代码运行结果如下。列表的内置函数与常见方法462. 常见方法(4)sort()方法sort()方法用于对列表进行排序。默认情况下,按升序排列列表中的元素。该方法接受一个可选参数reverse,用于指定排序顺序。若reverse参数为True,则列表会按降序排列;若为False或未指定,则按升序排列。代码运行结果如下。列表的内置函数与常见方法475.2.5嵌套列表48理解嵌套列表的概念,掌握创建嵌套列表及访问嵌套列表元素的方法。
先定一个小目标!列表不仅可以包含不同类型的数据元素(如整数、浮点数、字符串等),还可以包含其他列表。这种包含其他列表的列表,称之为嵌套列表。嵌套列表可以用于构建更复杂的数据结构,如二维数组、矩阵和树形结构等。嵌套列表491. 创建嵌套列表嵌套列表的创建方式与普通列表相同,只需要在列表中的某个位置放置另一个列表即可。嵌套列表502. 访问嵌套列表元素访问嵌套列表中的元素需要使用多个索引。外部的索引定位到子列表,子列表的索引再用于定位到具体的元素。
代码运行结果如下。嵌套列表515.2.6元组的创建与元素访问52掌握元组的创建方式及元组元素的访问方式。
先定一个小目标!元组(tuple)是Python中的一种不可变序列类型。由于元组的不可变性,元组常被用于存储那些不需要修改的数据。元组的创建与元素访问53元组的创建创建元组主要有两种方式:使用圆括号()和使用tuple()函数。(1)使用圆括号()创建元组直接在圆括号中列出所需的元素,并使用逗号分隔。
代码运行结果如下。元组的创建与元素访问54元组的创建(2)使用tuple()函数创建元组
tuple()函数可以将其他可迭代对象转换为元组。
代码运行结果如下。元组的创建与元素访问55元组元素的访问与列表相似,元组中的元素也可以通过索引或切片来进行访问。代码运行结果如下。注意:元组是不可变的,不能通过索引或切片来修改元素,也不能向元组中添加或删除元素。元组的创建与元素访问565.3字典字典是Python中用于存储键值对映射关系的数据结构。在字典中,每个键都是唯一的,并且是不可变的,而值可以是任何数据类型。字典是可变的,允许在运行时添加、删除或修改键值对。字典585.3.1字典的创建59掌握字典的两种创建方法。
先定一个小目标!使用花括号{}创建字典在花括号中指定键值对,键和值之间用冒号分隔,键值对之间用逗号分隔。代码运行结果如下。字典的创建60使用dict()类型构造器创建字典dict()类型构造器可以用来创建字典。如果不带参数调用时,它将创建一个空字典,如果传递一个由键值对元组组成的列表或迭代器作为参数,dict()将自动识别这些键值对并创建一个字典。
代码运行结果如下。字典的创建615.3.2字典的访问与更新62理解并掌握字典的访问与更新操作。
先定一个小目标!字典的访问与更新是字典操作中的基本部分。以下将介绍如何访问字典中的值以及如何添加、修改和删除字典中的元素。字典的访问与更新63字典的访问访问字典中的值需要使用键作为索引。通过方括号[]指定键名,即可获取该键对应的值。代码运行结果如下。字典的访问与更新64字典的访问注意:如果尝试访问的键不存在,Python会抛出KeyError异常。为了避免这种情况,可以使用get()方法。代码运行结果如下。字典的访问与更新65更新字典字典支持动态地添加、修改或删除元素。(1)修改元素修改字典中的元素,只需重新为已有的键赋值即可。
代码运行结果如下。
字典的访问与更新66更新字典(2)添加元素向字典中添加新元素也很简单,只需使用新的键和值进行赋值。
代码运行结果如下。
字典的访问与更新67更新字典(3)删除元素和字典使用del关键字可以删除字典中的元素或整个字典。
代码运行结果如下。注意:在使用del语句时,请确保所指定的键或字典名确实存在,否则将引发异常。
字典的访问与更新685.3.3字典的方法69掌握字典的常用方法及其用法。
先定一个小目标!字典提供了多种内置方法来操作和管理其键值对。一些常用的字典方法及其示例如下。字典的方法70keys()方法keys()方法用于获取字典中所有的键。代码运行结果如下。字典的方法71values()方法values()方法用于获取字典中所有的值。代码运行结果如下。字典的方法72items()方法items()方法用于获取字典中所有的键值对。代码运行结果如下。字典的方法73update()方法update()方法用于将一个字典的键值对添加到另一个字典中,若键已存在则更新其值。代码运行结果如下。字典的方法74pop()方法pop()方法用于删除字典中指定的键及其值,并返回该值。若键不存在,且未提供默认值,则抛出KeyError异常。代码运行结果如下。字典的方法75clear()方法clear()方法用于清空字典,即删除字典中的所有键值对。代码运行结果如下。字典的方法765.4集合集合(Set)是Python中一种特殊的数据结构,用于存储唯一元素,即不允许有重复的元素。集合785.4.1集合的创建79学会使用花括号{}和set()函数来创建集合,并理解空集合的创建方法。
先定一个小目标!创建集合主要有两种方法:使用花括号{}和使用set()函数。使用花括号{}创建集合在花括号中列出集合的元素,元素之间用逗号分隔。
代码运行结果如下。集合的创建80使用set()函数创建集合set()函数可以将一个可迭代对象(如列表、元组或字符串)转换为一个集合,并自动去除重复元素。代码运行结果如下。
集合的创建815.4.2集合的访问与更新82掌握集合的访问与更新操作。
先定一个小目标!集合在Python中虽然是无序的,但仍然可以通过多种方式对其进行访问和更新。集合的访问与更新831. 检查元素是否存在使用in或notin可以判断元素是否在集合中。代码运行结果如下。
集合的访问与更新842. 遍历集合使用循环可以遍历集合中的每个元素。代码运行结果如下。注意:由于集合是无序的,所以每次遍历的顺序可能不同。
集合的访问与更新853. 添加元素add()方法用于添加单个元素。update()方法用于添加多个元素或另一个集合的元素。代码运行结果如下。
集合的访问与更新864. 删除元素和集合(1)使用remove()方法删除元素。remove()方法用于删除指定元素。若元素不存在,则提示错误信息。代码运行结果如下。
集合的访问与更新874. 删除元素和集合(2)使用discard()方法删除元素discard()方法也用于删除指定元素,但如果元素不存在时不会报错。代码运行结果如下。
集合的访问与更新884. 删除元素和集合(3)使用clear()方法清空集合clear()方法用于清空集合中的所有元素。代码运行结果如下。
集合的访问与更新894. 删除元素和集合(4)使用del语句删除集合del语句用于删除整个集合对象。
集合的访问与更新90应用案例:学生模拟选课系统为了提高教务管理效率,使学生选课更加方便快捷,开发一个学生模拟选课系统,以简化学校教务管理流程。学生可以通过系统注册并选择课程,教务管理人员可以查看学生的选课情况,最终实现便捷的选课操作和信息管理。学生模拟选课系统代码运行结果如左图所示。91思考:如何利用列表和字典等组合数据类型高效地实现学生选课信息的存储和检索?
【分析】(1)学生模拟选课系统基于列表可存储任意类型的数据,并且允许重复的特性,通过字典和列表存储学生信息和课程信息,实现了一个简单的学生模拟选课系统。(2)初始化课程列表和学生信息字典,通过定义select_courset、show_courses等函数进行学生选课、查看可选课程。(3)通过一个无限循环,接收用户输入的操作选项,然后调用相应的函数来执行对应的功能——用户可以选选课、显示可选课程或退出系统。应用案例:学生模拟选课系统92【实现】(1)初始化课程列表和学生信息字典创建一个包含预设课程的列表courses和一个学生信息字典students,用于存储学生的选课信息。应用案例:学生模拟选课系统93【实现】(2)自定义学生选课函数、可选课程展示函数自定义学生选课函数select_course的作用是实现学生在选课系统中进行课程选择的功能。根据输入的学生姓名和课程名称,将选课信息记录到学生信息字典中,同时进行一系列的合法性检查,确保选课操作的有效性和安全性。可选课程展示函数show_courses的作用是展示当前系统中可供选择的所有课程列表,提供给用户查看和选择课程的参考。通过输出提示信息展示系统中所有可供选择的课程列表。函数首先输出一个提示信息指示正在显示可选课程列表,然后使用循环遍历存储所有可选课程名称的列表courses,逐行输出每个课程名称到屏幕上,以便用户查看和选择课程。应用案例:学生模拟选课系统94【实现】自定义学生选课函数、可选课程展示函数。应用案例:制作简易计算器95【实现】(3)编写主程序通过一个无限循环,不断显示操作菜单供用户选择。用户可以选择注册学生、学生选课、显示所有学生信息或退出系统。根据用户的选择,调用相应的函数来执行对应的功能。应用案例:学生模拟选课系统96【实现】主程序代码应用案例:制作简易计算器97【实现】运行应用案例:制作简易计算器98=======学生选课系统=======1.学生选课2.显示可选课程3.退出请输入您的选择:2可选课程列表:中国民族共同体概论数据会说话数学文化智能文明
=======学生选课系统=======1.学生选课2.显示可选课程3.退出请输入您的选择:1请输入学生姓名:张三请输入要选修的课程:数学文化张三成功选择了数学文化课程!
=======学生选课系统=======1.学生选课2.显示可选课程3.退出请输入您的选择:3感谢使用学生选课系统,再见!
进程已结束,退出代码0上机实践:智慧菜篮实验目的(1)熟练掌握列表的创建。(2)熟练掌握列表、字典元素的增添、修改、删除。(3)熟练掌握函数的定义与调用。实验要求为了推动农村电商高质量发展,实现乡村振兴,探索新的发展路径,例如“智能菜篮”等服务于农村电商的系统应运而生。本实训的智慧菜篮主要实现以下功能。(1)可以添加新的农产品及其购买数量和产地信息,自动合并相同农产品的不同购买记录。(2)用户可以查询任意农产品的具体信息,了解购买数量和产地。(3)可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 考研面试问答题目及答案
- 压疮预防操作考核试题及答案
- 【高中语文】《望海潮》课件+统编版高二语文选择性必修下册
- 2026初级经济师计量经济模块考题及速记答案
- 2023液碱安全隐患排查专项试题及答案解析
- 2024中储粮笔试过线必刷题及超全答案解析
- 2022年幼师同工同酬招聘笔试模考卷附答案解析
- 2023安宁疗护专科护士考核历年真题及参考答案
- 2026年成语故事园测试题及答案
- 保险行业的数字革新-透过科技迎接保险未来
- 土地赠予父女协议书
- 2025年广西机场管理集团有限责任公司招聘笔试参考题库含答案解析
- 医院物业管理服务投标方案(技术标)
- 旋挖钻机操作保养手册(已定稿)最后修改
- 2025年华侨港澳台生联招考试高考地理试卷试题(含答案详解)
- 2025年中国移动浙江公司招聘笔试参考题库含答案解析
- 施工管理制度牌内容
- 考研学习笔记 《软件工程导论》(第6版)笔记和课后习题详解
- 人音版音乐四年级下册《第七课 回声》大单元整体教学设计2022课标
- 梦幻西游手游账号交易协议书
- 2024年水溶性肥项目申请报告范稿
评论
0/150
提交评论