版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单元4Python序列结构-列表、元组、集合和字典目录列表案例:学生管理系统的列表实现元组集合字典字典的创建与删除案例:学生管理系统的字典实现内容概述介绍Python中最常见的序列结构:列表、元组、集合和字典掌握每种结构的特点和适用场景学习如何使用这些结构编写高效、简洁的代码学习要点Python列表的基本概念和操作掌握列表的切片操作和遍历方法理解元组(Tuple)的定义和特点,以及与列表的区别Python集合的基本概念和操作Python字典的基本概念和操作理解字典(Dictionary)的定义和特点学习字典的创建、访问、修改、添加和删除键值对的方法掌握字典的遍历方法和常用操作列表、元组、集合和字典的应用场景4.1列表4.1.1列表的创建与删除列表的删除4.1.2列表元素的访问4.1.3列表常用的内置方法4.1.4内置函数对列表的操作4.1.5列表推导式4.1.6切片内容概述列表(List)是Python中不同数据类型元素的有序集合,是核心数据结构,支持动态修改元素,可包含多种数据类型(如整数、字符串等)。本节涵盖列表的创建、删除与操作。创建列表可通过空列表[]、初始化元素(如[1,"hello"])或list()函数转换其他可迭代对象实现。删除操作包括del删除整个列表、remove()/pop()移除元素及clear()清空列表,需注意操作后数据是否存续。访问元素时,可通过正负索引(如list[0]或list[-1])、切片(list[start:stop:step]提取子列表或反转)及循环遍历。内置方法如append()添加元素、sort()排序、reverse()反转,结合内置函数len()、sum()等,能高效处理数据。列表推导式(如[x**2forxinrange(10)])以简洁语法生成列表,兼顾筛选与转换。切片操作则支持灵活提取、步长跳跃及反向访问,保障数据安全性与复用性。通过本节学习,学生将掌握列表的核心操作技巧,理解其在数据处理中的优势,为后续编程实践奠定基础。4.1列表4.1.1列表的创建与删除在Python中,列表(List)是一种常用的数据结构,用于存储有序的元素集合。列表是可变的,可以随时修改其内容。一列表的创建#创建一个空列表empty_list=[]print(empty_list)#输出:[]1.空列表的创建#创建一个包含多个元素的列表numbers=[1,2,3,4,5]print(numbers)#输出:[1,2,3,4,5]#创建一个包含不同类型元素的列表mixed_list=[1,"hello",3.14,True]print(mixed_list)#输出:[1,'hello',3.14,True]2.具有初始元素的列表创建4.1列表4.1.1列表的创建与删除一列表的创建#使用list()函数将字符串转换为列表string_list=list("hello")print(string_list)#输出:['h','e','l','l','o']#使用list()函数将元组转换为列表tuple_list=list((1,2,3))print(tuple_list)#输出:[1,2,3]3.使用list()函数创建列表4.1列表4.1.1列表的创建与删除二列表的删除#使用del关键字删除整个列表numbers=[1,2,3,4,5]delnumbers#print(numbers)#这将引发错误,因为numbers列表已被删除1.删除整个列表#
使用clear()方法清空列表numbers=[1,2,3,4,5]numbers.clear()print(numbers)#输出:[]2.清空列表中的所有元素4.1列表4.1.1列表的创建与删除二列表的删除#使用remove()方法删除指定元素(第一次出现的元素)numbers=[1,2,3,4,5,3]numbers.remove(3)print(numbers)#输出:[1,2,4,5,3]3.删除列表中的指定元素#使用pop()方法删除指定索引处的元素(默认删除最后一个元素)numbers=[1,2,3,4,5]removed_element=numbers.pop()print(removed_element)#输出:5print(numbers)#输出:[1,2,3,4]#使用del关键字删除指定索引处的元素numbers=[1,2,3,4,5]delnumbers[2]print(numbers)#输出:[1,2,4,5]4.1列表列表的删除1.
删除整个列表del列表名称。2.清空列表的所有元素列表名称.clear()。3.删除列表中的元素有三种常用的方式。删除列表中第一个指定值的元素列表名称.remove(值)删除列表指定索引处(最后一个)的元素并返回值列表名称.pop(i)删除指定索引处的元素del
列表名称[i]小结:4.1列表4.1.1列表的创建与删除1.列表可以包含不同类型的元素,但在特定应用场景下,使用相同类型的元素可以避免类型错误,提高代码的可读性和可维护性。2.list()函数可以将其他可迭代对象(如字符串、元组、集合等)转换为列表,但要注意转换后的结果是否符合预期。例如,字符串会被拆分为单个字符的列表。3.清空列表后,列表对象本身仍然存在,但其中的元素被移除。删除列表意味着从内存中移除列表对象。执行这一操作后,该列表将不再存在,尝试访问该列表会引发NameError。注意:Thankyou4.1.2列表元素的访问
通过索引访问元素:first_element=numbers[0]通过迭代访问元素:fornumberinnumbers:print(number)通过切片访问元素:slice_elements=numbers[1:4]4.1列表4.1.2列表元素的访问在Python中,列表是一种有序的数据结构,可以通过多种方式访问其元素。常用的有三种:#创建一个列表numbers=[10,20,30,40,50]#访问第一个元素first_element=numbers[0]print(first_element)#输出:10#访问第三个元素third_element=numbers[2]print(third_element)#输出:30#访问最后一个元素last_element=numbers[-1]print(last_element)#输出:501.通过索引访问元素#创建一个列表numbers=[10,20,30,40,50]#访问从第二个到第四个元素slice_elements=numbers[1:4]print(slice_elements)#输出:[20,30,40]#访问从第三个元素到列表末尾的所有元素slice_from_third=numbers[2:]print(slice_from_third)#输出:[30,40,50]2.通过切片访问元素4.1列表4.1.2列表元素的访问在Python中,列表是一种有序的数据结构,可以通过多种方式访问其元素。常用的有三种:可以使用循环遍历列表中的所有元素。#创建一个列表numbers=[10,20,30,40,50]#使用for循环遍历列表fornumberinnumbers:print(number)3.通过迭代访问元素4.1列表4.1.2列表元素的访问索引范围:访问超出列表范围的索引会引发IndexError。因此,在访问元素之前,最好确保索引在有效范围内。负索引:负索引用于从列表末尾开始访问元素,-1表示最后一个元素,-2表示倒数第二个元素,以此类推。切片的步长:切片操作还可以指定步长,步长默认为1。通过步长,可以跳过元素或反向访问列表。注意:4.1.3列表常用的内置方法
append()01向列表末尾添加一个元素extend()将一个可迭代对象的所有元素添加到列表末尾02insert()03在指定索引处插入一个元素remove()移除列表中第一个匹配的指定值04pop()移除并返回指定索引处的元素05clear()移除列表中的所有元素064.1列表4.1.3列表常用的内置方法Python列表提供了许多内置方法,用于操作和处理列表中的元素。以下是一些常用的列表方法及其说明和示例:1.append()功能:向列表末尾添加一个元素。numbers=[1,2,3]numbers.append(4)print(numbers)#输出:[1,2,3,4]2.extend()将一个可迭代对象(如列表、元组等)的所有元素添加到列表末尾。numbers=[1,2,3]numbers.extend([4,5])print(numbers)#输出:[1,2,3,4,5]4.1列表4.1.3列表常用的内置方法3.insert()在指定索引处插入一个元素。numbers=[1,2,3]numbers.insert(1,1.5)print(numbers)#输出:[1,1.5,2,3]4.remove()移除列表中第一个匹配的指定值。numbers=[1,2,3,2,4]numbers.remove(2)print(numbers)#输出:[1,3,2,4]4.1列表4.1.3列表常用的内置方法5.pop()移除并返回指定索引处的元素(默认移除最后一个元素)。numbers=[1,2,3]last_element=numbers.pop()print(last_element)#输出:3print(numbers)#输出:[1,2]second_element=numbers.pop(1)print(second_element)#输出:2print(numbers)#输出:[1]6.clear()移除列表中的所有元素。numbers=[1,2,3]numbers.clear()print(numbers)#输出:[]4.1列表4.1.3列表常用的内置方法7.index()返回列表中第一个匹配的指定值的索引。numbers=[1,2,3,2,4]index_of_2=numbers.index(2)print(index_of_2)#输出:18.count()返回指定值在列表中出现的次数。numbers=[1,2,3,2,4]count_of_2=numbers.count(2)print(count_of_2)#输出:24.1列表4.1.3列表常用的内置方法9.sort()对列表中的元素进行原地排序。numbers=[3,1,4,2]numbers.sort()print(numbers)#输出:[1,2,3,4]#逆序排序numbers.sort(reverse=True)print(numbers)#输出:[4,3,2,1]10.reverse()原地反转列表中的元素顺序。numbers=[1,2,3]numbers.reverse()print(numbers)#输出:[3,2,1]4.1列表4.1.3列表常用的内置方法11.copy()返回列表的深拷贝。numbers=[1,2,3]#生成了一个新列表numbers_copynumbers_copy=numbers.copy()print(numbers_copy)#输出:[1,2,3]number1.append(“ABC”)print(numbers1)#输出:[1,2,3,“ABC”]print(numbers2)#输出:[1,2,3]简单赋值只是浅拷贝。numbers1=[1,2,3]#给numbers1另外取一个名称numbers2numbers2=numbers1number1.append(“ABC”)print(numbers1)#输出:[1,2,3,“ABC”]print(numbers2)#输出:[1,2,3,“ABC”]4.1.4内置函数对列表的操作len()max()和min()sum()sorted()提高数据处理的效率reversed()any()和all()enumerate()zip()4.1列表4.1.4内置函数对列表的操作在Python中,内置函数提供了多种操作列表的功能,方便进行数据处理和操作。以下是一些常用的内置函数和它们的用途:1.len()返回列表中的元素个数。numbers=[1,2,3,4,5]length=len(numbers)print(length)#输出:52.max()和min()返回列表中的最大值和最小值。numbers=[1,2,3,4,5]max_value=max(numbers)min_value=min(numbers)print(max_value)#输出:5print(min_value)#输出:14.1列表4.1.4内置函数对列表的操作3.sum()返回列表中所有元素的和。numbers=[1,2,3,4,5]total_sum=sum(numbers)print(total_sum)#输出:154.sorted()返回一个新列表,新列表中的元素按指定顺序排序,原列表不变。numbers=[3,1,4,2,5]sorted_numbers=sorted(numbers)print(sorted_numbers)#输出:[1,2,3,4,5]#逆序排序sorted_numbers_desc=sorted(numbers,reverse=True)print(sorted_numbers_desc)#输出:[5,4,3,2,1]4.1列表4.1.4内置函数对列表的操作5.reversed()返回一个迭代器,迭代器中包含原列表元素的反向顺序。原列表不变。numbers=[1,2,3,4,5]reversed_numbers=list(reversed(numbers))print(reversed_numbers)#输出:[5,4,3,2,1]6.any()和all()1)any()函数检查列表中是否至少有一个元素为真。2)all()函数检查列表中所有元素是否都为真。numbers=[0,1,2,3]any_true=any(numbers)all_true=all(numbers)print(any_true)#输出:True,因为有1、2、3是非零值,视为真print(all_true)#输出:False,因为0是假值4.1列表4.1.4内置函数对列表的操作7.enumerate()将列表中的元素和其索引组合在一起,返回一个迭代器。常用于循环中获取元素和索引。numbers=['a','b','c']forindex,valueinenumerate(numbers):print(f"Index:{index},Value:{value}")#输出:#Index:0,Value:a#Index:1,Value:b#Index:2,Value:c8.zip()将多个列表的对应元素组合成元组,返回一个迭代器。names=['Alice','Bob','Charlie']scores=[85,90,88]zipped=list(zip(names,scores))print(zipped)#输出:[('Alice',85),('Bob',90),('Charlie',88)]4.1列表4.1.4内置函数对列表的操作类型检查:在使用如max(),min(),sum()等函数时,确保列表中所有元素类型一致,以避免类型错误。不可变类型:sorted()返回一个新列表,原列表不变;而sort()直接在原列表上排序。迭代函数:enumerate()和zip()非常有用,尤其是在处理多个列表时,使代码更简洁易读。注意:4.1.5列表推导式基本的列表推导式:squares=[x**2forxinrange(1,11)]带条件的列表推导式:even_squares=[x**2forxinrange(1,11)ifx%2==0]嵌套循环的列表推导式:cartesian_product=[(x,y)forxin[1,2,3]foryin[4,5,6]]..4.1列表4.1.5列表推导式列表推导式(ListComprehensions)是Python中一种简洁而强大的构建列表的方法。它通过一种简明的语法将循环和条件结合起来,能够高效地生成列表。语法格式:[expressionforiteminiterable[ifcondition]]1)expression:用于生成新列表元素的表达式。2)item:从可迭代对象中获取的元素。3)iterable:一个可迭代对象(如列表、元组、字符串等)。4)condition(可选):一个过滤条件,只有满足该条件的元素才会被包含在新列表中。4.1列表4.1.5列表推导式生成一个包含1到10的平方数的列表:squares=[x**2forxinrange(1,11)]print(squares)#输出:[1,4,9,16,25,36,49,64,81,100]1.基本的列表推导式生成一个包含1到10之间的偶数的平方数的列表:even_squares=[x**2forxinrange(1,11)ifx%2==0]print(even_squares)#输出:[4,16,36,64,100]2.带条件的列表推导式4.1列表4.1.5列表推导式生成一个包含笛卡尔积的列表:cartesian_product=[(x,y)forxin[1,2,3]foryin[4,5,6]]print(cartesian_product)#输出:[(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),#(3,6)]3.嵌套循环的列表推导式笛卡尔积(CartesianProduct)是指两个集合的所有可能有序对的集合。给定两个集合
AA
和
BB,它们的笛卡尔积
A×B,A×B
是由所有可能的有序对
(a,b)
组成的集合,其中
a∈A且
b∈B。Thankyou4.1.6切片基本切片操作:sub_list=numbers[2:5]带步长的切片操作:every_second_element=numbers[::2]负索引的切片操作:sub_list=numbers[-4:-1]4.1列表4.1.6切片列表切片(ListSlicing)是Python中一种强大且灵活的操作列表的方法,允许我们通过指定索引范围从列表中提取子列表。语法格式:list[start:stop:step]1)start:切片开始的索引(包含该索引)。如果省略,默认从列表的第一个元素开始。2)stop:切片结束的索引(不包含该索引)。如果省略,默认到列表的最后一个元素结束。3)step:切片的步长(可选)。如果省略,默认步长为1。4.1列表4.1.6切片numbers=[0,1,2,3,4,5,6,7,8,9]#从索引2开始到索引5结束(不包含索引5)sub_list=numbers[2:5]print(sub_list)#输出:[2,3,4]#从索引0开始到索引4结束(不包含索引4)sub_list=numbers[:4]print(sub_list)#输出:[0,1,2,3]#从索引5开始到列表末尾sub_list=numbers[5:]print(sub_list)#输出:[5,6,7,8,9]1.基本切片操作提取列表的部分元素:4.1列表4.1.6切片numbers=[0,1,2,3,4,5,6,7,8,9]#每隔一个元素提取一次sub_list=numbers[::2]print(sub_list)#输出:[0,2,4,6,8]#反向提取所有元素reversed_list=numbers[::-1]print(reversed_list)#输出:[9,8,7,6,5,4,3,2,1,0]2.带步长的切片操作通过指定步长提取元素:4.1列表4.1.6切片numbers=[0,1,2,3,4,5,6,7,8,9]#从索引-4(即索引6)到索引-1(即索引9)结束(不包含索引-1)sub_list=numbers[-4:-1]print(sub_list)#输出:[6,7,8]3.负索引的切片操作使用负索引从列表末尾进行切片:4.1列表4.1.6切片索引范围:如果start或stop索引超出列表的范围,Python不会报错,而是自动调整为列表的开头或结尾。空切片:如果start大于或等于stop,或step为0,切片结果会是一个空列表。负步长:使用负步长时,start应该大于stop,否则结果为空列表。注意:Thankyou4.2案例:学生管理系统的列表实现4.2.1案例要求4.2.2实现过程4.2案例:学生管理系统的列表实现4.2.1案例要求功能需求:设计并实现一个简单的学生管理系统,使用Python的列表来存储和管理学生信息。该系统应包括以下功能:添加学生:输入学生姓名和成绩,并将其添加到系统中。查看学生列表:显示所有学生的信息,包括姓名和成绩。修改学生信息:根据学生的姓名修改其成绩。删除学生:根据学生的姓名删除其信息。查询学生:根据学生的姓名查找其信息。计算平均成绩:计算并显示所有学生的平均成绩。退出系统:结束程序的运行。4.2案例:学生管理系统的列表实现4.2.1案例要求思政元素:诚信:在数据录入和展示时,确保数据的真实性。自强:通过对学生成绩的管理和分析,激励学生不断进步,体现自强不息的精神。技能要求:使用Python的列表数据结构来实现学生信息的存储。实现对列表的增、删、改、查等基本操作。通过控制台进行输入输出,模拟学生管理系统的基本功能。代码应包含适当的注释,帮助学生理解程序逻辑。4.2案例:学生管理系统的列表实现4.2.2实现过程实现过程步骤1:初始化学生管理系统步骤二:接收用户输入步骤2:实现添加学生的功能步骤3:实现查看学生列表的功能步骤4:实现修改学生信息的功能步骤5:实现删除学生信息的功能步骤6:实现查询学生信息的功能步骤7:实现计算平均成绩的功能步骤8:实现系统的主菜单4.3元组元组的创建与删除元组元素的访问元组与列表的异同点4.3元组4.3.1元组的创建与删除元组(tuple)是Python中一种不可变的序列类型,与列表类似,但元组的内容在创建后不能被修改。一元组的创建1.使用圆括号创建#创建一个包含多个元素的元组tuple1=(1,2,3,4)print(tuple1)#输出:(1,2,3,4)#创建一个空元组empty_tuple=()print(empty_tuple)#输出:()#创建一个包含单个元素的元组,需要在元素后添加一个逗号single_element_tuple=(1,)print(single_element_tuple)#输出:(1,)4.3元组4.3.1元组的创建与删除元组(tuple)是Python中一种不可变的序列类型,与列表类似,但元组的内容在创建后不能被修改。一元组的创建2.使用tuple()函数创建#将列表转换为元组list1=[1,2,3,4]tuple3=tuple(list1)print(tuple3)#输出:(1,2,3,4)#将字符串转换为元组string1="hello"tuple4=tuple(string1)print(tuple4)#输出:('h','e','l','l','o')4.3元组4.3.1元组的创建与删除由于元组是不可变的,因此不能直接删除元组中的元素,但可以删除整个元组。使用del语句删除元组:二元组的删除#创建一个元组tuple5=(1,2,3,4)print(tuple5)#输出:(1,2,3,4)#删除整个元组deltuple5#尝试访问已删除的元组会导致NameErrortry:print(tuple5)exceptNameErrorase:print(e)#输出:name'tuple5'isnotdefined4.3元组4.3.1元组的创建与删除创建元组:可以使用圆括号、逗号分隔元素或tuple()函数来创建元组。对于单个元素的元组,需要在元素后加一个逗号,以区分它与普通的括号。
例:single_element_tuple=(5,)删除元组:元组是不可变的,不能删除其元素,但可以使用del语句删除整个元组。注意:4.3元组4.3.2元组元素的访问元组是一种不可变的序列类型,可以通过索引、切片等方式访问其元素。1.通过索引访问元素#创建一个元组my_tuple=(10,20,30,40,50)#访问第一个元素print(my_tuple[0])#输出:10#访问最后一个元素print(my_tuple[-1])#输出:50#访问第二个元素print(my_tuple[1])#输出:2#访问倒数第二个元素print(my_tuple[-2])#输出:40元组中的元素可以通过索引来访问,索引从0开始。负索引用于从末尾开始访问元素。2.通过切片访问元素#创建一个元组my_tuple=(10,20,30,40,50)#访问从索引1到索引3(不包含索引3)的元素slice_tuple=my_tuple[1:3]print(slice_tuple)#输出:(20,30)#访问从索引0到索引3的元素,每隔一个元素访问一次step_slice=my_tuple[0:4:2]print(step_slice)#输出:(10,30)可以使用切片操作符:访问元组的一个子集,切片会返回一个新的元组。切片的语法是tuple[start:stop:step]。4.3元组4.3.2元组元素的访问3.使用循环访问元素#创建一个元组my_tuple=(10,20,30,40,50)#使用for循环遍历元组的元素forelementinmy_tuple:print(element)#输出:#10#20#30#40#50使用for循环遍历元组my_tuple=(10,20,30,40,50)#使用while循环遍历元组的元素index=0whileindex<len(my_tuple):print(my_tuple[index])index+=1#输出:#10#20#30#40#50使用while循环遍历元组4.3元组4.3.2元组元素的访问索引范围:访问超出元组范围的索引会引发IndexError。不可变性:元组是不可变的,不能通过索引修改其元素。效率:元组的索引和切片操作与列表类似,都是O(1)时间复杂度。注意:4.3元组4.3.3元组与列表的异同点元组和列表是Python中两种常用的序列类型。它们都有很多相似之处,但也有一些重要的区别。大家根据实际需求选择使用元组或列表,可以充分利用它们各自的优势来提高代码的效率和可读性。相同点有序性:元组和列表都是有序的集合,元素的顺序是固定的。索引访问:可以通过索引访问元素,索引从0开始,也可以使用负索引从末尾开始。切片操作:都支持切片操作,可以通过[start:stop:step]的方式获取子序列。可迭代性:都可以使用for循环等迭代器进行遍历。支持嵌套:可以包含其他元组、列表或其他数据类型作为元素。内置函数和方法:都可以使用内置函数如len()、max()、min()、sum()等。4.4集合集合对象的创建与删除集合对象的操作集合对象的运算4.4集合集合是一种无序且不重复的元素集合,提供了高效的成员资格测试和基本集合操作。其主要功能包括元素的添加和删除、集合运算(如并集、交集、差集和对称差)、以及子集和超集检查等。集合在处理去重和快速查找方面非常有用。无序:集合中的元素没有特定的顺序,无法通过索引访问元素。唯一性:集合中的每个元素都是唯一的,不会出现重复的元素。可变性:集合本身是可变的,可以添加或删除元素,但集合中的元素必须是不可变的(例如数字、字符串、元组)。特点:4.4集合4.4.1集合对象的创建与删除一创建集合#创建一个包含一些整数的集合my_set={1,2,3,4,5}print(my_set)#输出:{1,2,3,4,5}#创建一个包含字符串的集合string_set={"apple","banana","cherry"}print(string_set)#输出:{'apple','banana','cherry'}1.使用大括号{}创建集合最简单和常用的方法是使用大括号{}来创建一个集合。注意,创建空集合不能使用{},因为那样创建的是一个空字典。#从列表创建集合list_set=set([1,2,3,4,5])print(list_set)#输出:{1,2,3,4,5}#从字符串创建集合(集合中每个字符是唯一的)string_set=set("hello")print(string_set)#输出:{'h','e','l','o’}#创建空集合empty_set=set()print(empty_set)#输出:set()2.使用set()函数创建集合set()函数可以从其他可迭代对象(如列表、元组、字符串等)创建集合。4.4集合4.4.1集合对象的创建与删除二删除集合my_set={1,2,3,4,5}delmy_set#尝试访问被删除的集合会引发错误try:print(my_set)exceptNameErrorase:print(e)#输出:name'my_set'isnotdefined1.使用del关键字删除集合可以使用del关键字删除集合对象。删除后,该集合对象将不再存在,尝试访问它会引发错误。my_set={1,2,3,4,5}my_set.clear()print(my_set)#输出:set()2.使用clear()方法清空集合如果只想清空集合而不是删除集合对象,可以使用clear()方法。clear()方法将删除集合中的所有元素,但集合对象仍然存在。4.4集合4.4.2集合对象的操作与运算一集合对象的操作my_set={1,2,3}my_set.add(4)print(my_set)#输出:{1,2,3,4}1.添加元素add(element):向集合中添加一个元素。my_set={1,2,3}my_set.remove(2)print(my_set)#输出:{1,3}#如果元素不存在,会引发KeyError#my_set.remove(5)#引发KeyError:52.移除元素(一)remove(element):从集合中移除一个元素,如果元素不存在则引发KeyError。4.4集合4.4.2集合对象的操作与运算一集合对象的操作my_set={1,2,3}my_set.discard(2)print(my_set)#输出:{1,3}#如果元素不存在,不会引发错误my_set.discard(5)print(my_set)#输出:{1,3}2.移除元素(二)discard(element):从集合中移除一个元素,如果元素不存在也不会引发错误。my_set={1,2,3}removed_element=my_set.pop()print(removed_element)#输出:1(或2或3,取决于随机选择)print(my_set)#输出:{2,3}(或其他元素)2.移除元素(三)pop():随机移除集合中的一个元素,并返回该元素。如果集合为空,则引发KeyError。4.4集合4.4.2集合对象的操作与运算二集合对象的运算set1={1,2,3}set2={3,4,5}union_set=set1.union(set2)print(union_set)#输出:{1,2,3,4,5}#或使用|union_set=set1|set2print(union_set)#输出:{1,2,3,4,5}1.并集union(other_set)或|:返回一个包含两个集合所有元素的新集合。set1={1,2,3}set2={3,4,5}intersection_set=ersection(set2)print(intersection_set)#输出:{3}#或使用&intersection_set=set1&set2print(intersection_set)#输出:{3}2.交集intersection(other_set)或&:返回一个包含两个集合共有元素的新集合。4.4集合4.4.2集合对象的操作与运算二集合对象的运算set1={1,2,3}set2={3,4,5}difference_set=set1.difference(set2)print(difference_set)#输出:{1,2}#或使用-difference_set=set1-set2print(difference_set)#输出:{1,2}3.差集difference(other_set)或-:返回一个包含在第一个集合但不包含在第二个集合中的元素的新集合。set1={1,2,3}set2={3,4,5}symmetric_difference_set=set1.symmetric_difference(set2)print(symmetric_difference_set)#输出:{1,2,4,5}#或使用^symmetric_difference_set=set1^set2print(symmetric_difference_set)#输出:{1,2,4,5}4.对称差symmetric_difference(other_set)或^:返回一个包含两个集合中不共有元素的新集合。两个集合的对称差能否由其它的两个集合运算得到?4.5字典字典的创建与删除字典元素的访问字典元素的添加与修改4.5字典字典(dictionary)是Python中一种内置的数据类型,用于存储键值对(key-valuepairs)。每个键值对由一个唯一的键和与之关联的值组成。字典是一种非常灵活和强大的数据结构,适用于快速查找、插入和删除操作。键唯一:字典中的键必须是唯一的,不可重复。若添加重复键,新值会覆盖旧值。键不可变:键必须是不可变类型(如字符串、数字、元组),而值可以是任意类型。动态大小:字典的大小会随着键值对的增加或减少动态调整。支持嵌套:字典可以包含嵌套的字典或其他复杂的数据结构。特点:4.5字典4.5.1字典的创建与删除使用字典时,掌握其基本操作至关重要,例如如何创建字典以满足不同需求,以及如何删除不需要的键值对或清空整个字典。接下来,我们将详细介绍字典的创建与删除方法,并通过示例理解它们的实际应用。1.字典的创建(1)使用大括号{}创建字典(2)使用dict()函数创建字典2.字典的删除(1)使用del语句可以删除字典中的特定键值对。(2)使用pop()方法删除指定键值对并返回其值(3)使用popitem()方法删除并返回最后一个键值对(4)使用clear()方法清空字典(5)删除整个字典4.5字典4.5.1字典的创建与删除1.字典的创建#创建一个空字典empty_dict={}#创建一个包含初始键值对的字典person={'name':'Alice','age':25,'city':'NewYork'}(1)使用大括号{}创建字典可以直接使用大括号创建包含键值对的字典。#使用关键字参数创建字典person=dict(name='Alice',age=25,city='NewYork')#从键值对列表创建字典pairs=[('name','Alice'),('age',25),('city','NewYork')]person=dict(pairs)(2)使用dict()函数创建字典dict()函数可以从键值对列表或使用关键字参数创建字典。4.5字典4.5.1字典的创建与删除1.字典的删除person={'name':'Alice','age':25,'city':'NewYork'}delperson['age']print(person)#输出:{'name':'Alice','city':'NewYork'}(1)使用del语句删除指定键值对del语句可以删除字典中的特定键值对。person={'name':'Alice','age':25,'city':'NewYork'}age=person.pop('age')print(age)#输出:25print(person)#输出:{'name':'Alice','city':'NewYork'}#指定默认值,如果键不存在则返回默认值而不会引发错误country=person.pop('country','USA')print(country)#输出:USA(2)使用pop()方法删除指定键值对并返回其值pop()方法删除指定键值对,并返回该键对应的值。如果键不存在,则可以指定一个默认值返回。4.5字典4.5.1字典的创建与删除2.字典的删除person={'name':'Alice','age':25,'city':'NewYork'}last_item=person.popitem()print(last_item)#输出:('city','NewYork')print(person)#输出:{'name':'Alice','age':25}(3)使用popitem()方法删除并返回最后一个键值对popitem()方法删除并返回字典中的最后一个键值对。如果字典为空,调用此方法会引发KeyError。person={'name':'Alice','age':25,'city':'NewYork'}person.clear()print(person)#输出:{}(4)使用clear()方法清空字典clear()方法可以删除字典中的所有键值对,使字典变为空。4.5字典4.5.1字典的创建与删除2.字典的删除person={'name':'Alice','age':25,'city':'NewYork'}delperson#print(person)#这会引发NameError,因为person已经被删除(5)删除整个字典del语句可以删除整个字典对象。Thankyou4.5字典字典的创建与删除字典元素的访问字典元素的添加与修改4.5字典4.5.2访问所有键、值和键值对字典是Python中用于存储键值对的数据结构,访问字典元素的主要方式是通过键来查找对应的值。一通过键访问值person={'name':'Alice','age':25,'city':'NewYork'}print(person['name'])#输出:Aliceprint(person['age'])#输出:25#访问不存在的键会引发KeyError#print(person['country'])#KeyError:'country'2.使用get()方法person={'name':'Alice','age':25,'city':'NewYork'}print(person.get('name'))#输出:Aliceprint(person.get('country'))#输出:Noneprint(person.get('country','USA'))#输出:USAget()方法返回指定键的值,如果键不存在,可以返回一个默认值而不会引发错误。1.使用方括号[]这是最常用的方式,通过键直接访问字典中的值。如果键不存在,会引发KeyError。4.5字典4.5.2字典元素的访问二访问所有键、值和键值对person={'name':'Alice','age':25,'city':'NewYork'}keys=person.keys()print(keys)#输出:dict_keys(['name','age','city'])2.访问所有值person={'name':'Alice','age':25,'city':'NewYork'}values=person.values()print(values)#输出:dict_values(['Alice',25,'NewYork'])使用values()方法返回字典中所有值的视图。1.访问所有键使用keys()方法返回字典中所有键的视图。4.5字典4.5.2字典元素的访问二访问所有键、值和键值对person={'name':'Alice','age':25,'city':'NewYork'}items=person.items()print(items)#输出:dict_items([('name','Alice'),('age',25),('city','NewYork')])3.访问所有键值对使用
items()方法返回字典中所有键值对的视图。4.5字典4.5.2字典元
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁波幼儿师范高等专科学校《电电子基础训练》2024-2025学年第二学期期末试卷
- 2026黑龙江哈尔滨锅炉厂有限责任公司全球校园招聘考试参考题库及答案解析
- 2026年3月安徽滁州新华书店有限公司明光分公司外包服务人员招聘2人笔试备考题库及答案解析
- 2026年莆田市涵江区公开招聘新任教师80人考试参考题库及答案解析
- 2026新疆博州华棉棉业有限责任公司招聘1人考试参考题库及答案解析
- 2026河北廊坊永清县中医医院选聘工作人员28人笔试备考试题及答案解析
- 仓库内部质量检查制度
- 会展公司内部内控制度
- 政府食堂内部控制制度
- 旅游企业内部控制制度
- 熊胆粉功效课件
- 【人卫课件耳鼻喉9版】鼻科学第十六章 鼻及鼻窦囊肿
- 慢性病管理中的中医调理方案设计
- (一诊)达州市2026届高三第一次诊断性测试语文试题(含答案)
- 血液透析护理文件书写规范
- 电器样板间合同范本
- 2025ATS临床实践指南:社区获得性肺炎的诊断和管理解读课件
- 占道施工交通组织
- 某市公安局舆情应对处置实施细则
- 笋壳鱼营销方案
- 【《自动杀鱼机的方案计算设计》14000字】
评论
0/150
提交评论