版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计与案例教程Python延时符
无序数据类型项目5项目概述在Python编程中,集合和字典是处理数据的两大利器。集合是一个无序且元素唯一的容器,能高效地进行去重和成员检查。字典通过键值对存储数据,查找速度快,适合存储关联数据。本项目聚焦Python集合与字典,通过案例快速掌握去重、键值存储等核心用法,并培养良好编码习惯。23任务1映射类型-字典0504030201学习目标掌握字典作为键值对存储结构的特点,了解其无序性、键的唯一性和不可变性;学会创建字典、访问、添加、修改和删除键值对,熟悉操作方法;能够利用字典高效地进行数据存储、查询和统计,解决实际问题;通过字典的规范使用,培养严谨的编程态度和良好的代码风格;在数据处理中注重安全与隐私保护,培养责任感和数据安全意识。4最近,小王的数学老师交给他一个任务,请他帮忙整理各个班级的期末考试成绩数据。这些数据分散且格式混乱,需要高效地管理这些信息。具体需求包括:一、按学生姓名快速查询各科成绩;二、统计每个班级的平均分;三、找出各科成绩最高的前10名学生。那么我们使用什么样的数据类型来表示这些数据更有效?任务引入5Python中的字典,能够高效地实现学生信息的存储、查询和统计功能。字典的键值对结构使得数据访问变得快速且直观,非常适合处理类似“学生-成绩”这样的映射关系。以下是一个直观的字典结构示意图:知识准备6字典是Python内置数据结构,用于存储唯一的键及其关联的值。
键:字典中的键必须是唯一的,且不可变(通常是字符串、数字或元组)。
值:字典中的值可以是任意数据类型,包括数字、字符串、列表、元组、集合,甚至是另一个字典。1.1字典的定义一、字典定义与创建字典7使用大括号{}创建字典是最常见的方式。在大括号内,按照“键:值”的格式编写键值对,不同的键值对之间用逗号分隔。示例:my_dict={'name':'LiLi','age':30,'city':'Beijing'},这种方式直观且易于理解。dict()是Python内置函数,可以从给定的可迭代对象(如列表、元组或集合)或其他字典创建新的字典。示例:another_dict=dict(name='LiLei',age=25,city='Shanghai'),这种方式适合从关键字参数或可迭代对象中快速生成字典。使用大括号创建字典使用dict()函数创建字典1.2字典的创建方法8一、字典定义与创建字典字典推导式是一种简洁且功能强大的语法结构,允许使用类似列表推导式的语法来创建字典。示例:square_dict={x:x**2forxinrange(5)},这种方式可以快速生成基于某种规则的字典,提高代码的可读性和效率。这里创建了一个新字典square_dict,它包含了从0到4的整数及其平方值作为键值对。最终生成的字典是:{0:0,1:1,2:4,3:9,4:16}使用字典推导式创建字典1.2字典的创建方法9一、字典定义与创建字典dict.fromkeys()是Python中用于快速创建字典的一个非常实用的方法。它可以从一个可迭代对象(如列表、元组、集合等)创建一个新字典,并为每个键设置相同的默认值。示例:keys=['name','age','city']new_dict=dict.fromkeys(keys,'unknown')print(new_dict)在这个例子中,keys是一个包含三个字符串的列表,这些字符串将被用作新字典的键。最终生成的字典是:{'name':'unknown','age':'unknown','city':'unknown'}使用fromkeys函数创建字典1.2字典的创建方法10一、字典定义与创建字典实例5.1.1——创建字典#使用大括号创建字典my_dict={'name':'LiLi','age':30,'city':'Beijing'}print("使用大括号创建的字典:",my_dict)#使用dict()函数创建字典another_dict=dict(name='LiLei',age=25,city='Shanghai')list_of_tuples=[('name','Zhangwei'),('age',28),('city','Shenzhen')]from_list=dict(list_of_tuples)print("使用dict()函数创建的字典:",another_dict)print("从元组列表创建的字典:",from_list)#使用字典推导式创建字典square_dict={x:x**2forxinrange(5)}print("使用字典推导式创建的字典:",square_dict)#使用dict.fromkeys()函数创建字典keys=['name','age','city']new_dict=dict.fromkeys(keys,'unknown')print("使用dict.fromkeys()创建的字典:",new_dict)使用大括号创建的字典:{'name':'LiLi','age':30,'city':'Beijing'}使用dict()函数创建的字典:{'name':'LiLei','age':25,'city':'Shanghai'}从元组列表创建的字典:{'name':'Zhangwei','age':28,'city':'Shenzhen'}使用字典推导式创建的字典:{0:0,1:1,2:4,3:9,4:16}使用dict.fromkeys()创建的字典:{'name':'unknown','age':'unknown','city':'unknown'}输出结果:11一、字典定义与创建字典访问字典中的值可以通过键来实现,使用字典名[键]的方式。示例:name=my_dict['name'],这种方式简单直接,但如果键不存在,会抛出KeyError。通过键访问get()方法通过键获取值,如果键不存在,可以返回一个默认值,避免抛出KeyError。示例:print(person.get("city","Unknown")),这种方式更加安全,适用于不确定键是否存在的场景。使用get()方法二、访问字典2.1访问字典的方法12实例5.1.2——访问字典#定义一个字典my_dict={'name':'LiLi','age':30,'city':'Beijing'}
#通过键访问字典中的值name=my_dict['name']age=my_dict['age']city=my_dict['city']
#打印访问到的值print(f"Name:{name},Age:{age},City:{city}")Name:LiLi,Age:30,City:Beijing输出结果:13二、访问字典字典是动态的,可以随时添加、删除或修改键值对。#创建字典person={"name":"LiLi","age":25}#添加新的键值对person["city"]="Beijing"print(person)#输出:{'name':'LiLi','age':25,'city':'Beijing'}
#修改现有键的值person["age"]=26print(person)#输出:{'name':'LiLi','age':26,'city':'Beijing'}#删除键值对delperson["city"]print(person)#输出:{'name':'LiLi','age':26}3.1字典的动态性三、字典运算与基本操作14可以使用`in`关键字检查某个键是否存在于字典中。示例:person={"name":"LiLi","age":25}print("name"inperson)#输出:Trueprint("city"inperson)#输出:False3.2字典的成员检查15三、字典运算与基本操作使用`len()`函数可以获取字典中键值对的数量。示例:person={"name":"LiLi","age":25,"city":"Beijing"}print(len(person))#输出:33.3字典的长度16三、字典运算与基本操作可以使用`update()`方法或解包操作符`**`来合并多个字典。示例:#使用update()合并字典person={"name":"LiLi","age":25}address={"city":"Beijing","country":"China"}person.update(address)print(person)#输出:{'name':'LiLi','age':25,'city':'Beijing','country':'China'}#使用**解包合并字典combined={**person,**address}print(combined)#输出:{'name':'LiLi','age':25,'city':'Beijing','country':'China'}3.4字典的合并17三、字典运算与基本操作使用`clear()`方法可以清空字典中的所有内容,但保留字典对象。示例:person={"name":"LiLi","age":25}person.clear()print(person)#输出:{}3.5字典的清空18三、字典运算与基本操作可以使用比较运算符(如`==`和`!=`)比较两个字典是否相等。示例:dict1={"name":"LiLi","age":25}dict2={"name":"LiLi","age":25}dict3={"name":"Bob","age":30}print(dict1==dict2)#输出:Trueprint(dict1==dict3)#输出:False3.6字典的比较19三、字典运算与基本操作实例5.1.3——字典基本操作#初始字典:学生信息student={"name":"LiLi","age":20,"grades":[85,90,78]}
#动态添加新的键值对:添加学生的邮箱student["email"]="LiLi@"print("添加邮箱后:",student)
#修改现有键的值:更新学生的年龄student["age"]=21print("更新年龄后:",student)
#删除键值对:移除学生的成绩列表delstudent["grades"]print("移除成绩后:",student)
#合并字典:添加学生的课程信息courses={"courses":["Math","Physics","Chemistry"]}student.update(courses)print("合并课程信息后:",student)
#清空字典:清空学生信息student.clear()print("清空字典后:",student)添加邮箱后:{'name':'LiLi','age':20,'grades':[85,90,78],'email':'LiLi@'}更新年龄后:{'name':'LiLi','age':21,'grades':[85,90,78],'email':'LiLi@'}移除成绩后:{'name':'LiLi','age':21,'email':'LiLi@'}合并课程信息后:{'name':'LiLi','age':21,'email':'LiLi@','courses':['Math','Physics','Chemistry']}清空字典后:{}输出结果:20三、字典运算与基本操作返回字典中所有键的视图(`dict_keys`),视图是动态的,会随着字典的变化而更新。示例:person={"name":"LiLi","age":25}keys=person.keys()print(keys)#输出:dict_keys(['name','age'])4.1keys()函数四、字典常用函数21返回字典中所有值的视图(`dict_values`),视图是动态的。示例:person={"name":"LiLi","age":25}values=person.values()print(values)#输出:dict_values(['LiLi',25])4.2values()函数22四、字典常用函数返回字典中所有键值对的视图(`dict_items`),每个键值对是一个元组`(key,value)`,视图是动态的。。示例:person={"name":"LiLi","age":25}items=person.items()print(items)#输出:dict_items([('name','LiLi'),('age',25)])4.3items()函数23四、字典常用函数通过键获取值,如果键不存在,可以返回一个默认值,避免抛出`KeyError`。示例:person={"name":"LiLi","age":25}print(person.get("name"))#输出:LiLiprint(person.get("city","Unknown"))#输出:Unknown4.4get()函数24四、字典常用函数如果键存在,返回对应的值;如果键不存在,则插入键并设置默认值。示例:person={"name":"LiLi","age":25}person.setdefault("city","Unknown")print(person)#输出:{'name':'LiLi','age':25,'city':'Unknown'}4.5setdefault()函数25四、字典常用函数更新字典,可以添加或修改键值对。示例:person={"name":"LiLi","age":25}person.update({"city":"Beijing","gender":"Female"})print(person)#输出:{'name':'LiLi','age':25,'city':'Beijing','gender':'Female'}4.6update()函数26四、字典常用函数移除并返回指定键的值,如果键不存在,可以返回默认值。示例:person={"name":"LiLi","age":25}age=person.pop("age")print(age)#输出:25print(person)#输出:{'name':'LiLi'}4.7pop()函数27四、字典常用函数移除并返回字典中的最后一个键值对。示例:person={"name":"LiLi","age":25,"city":"Beijing"}key,value=person.popitem()print(key,value)#输出:cityBeijingprint(person)#输出:{'name':'LiLi','age':25}4.8popitem()函数28四、字典常用函数创建一个新的字典,其中所有键都指向同一个默认值。示例:keys=["name","age","city"]default_value="Unknown"new_dict=dict.fromkeys(keys,default_value)print(new_dict)#输出:{'name':'Unknown','age':'Unknown','city':'Unknown'}4.9fromkeys()函数29四、字典常用函数创建字典的浅拷贝。示例:person={"name":"LiLi","age":25}person_copy=person.copy()print(person_copy)#输出:{'name':'LiLi','age':25}4.10copy()函数30四、字典常用函数实例5.1.4——字典常用函数#初始字典:学生的各科成绩student_grades={"math":85,"english":92,"history":78,"science":88}#使用keys()获取所有科目subjects=student_grades.keys()print("所有科目:",list(subjects))#使用values()获取所有成绩grades=student_grades.values()print("所有成绩:",list(grades))#使用items()遍历科目和成绩print("遍历科目和成绩:")forsubject,gradeinstudent_grades.items():print(f"{subject}:{grade}")#使用get()安全访问成绩print("数学成绩:",student_grades.get("math"))print("艺术成绩(未记录,返回默认值):",student_grades.get("art","未记录"))#使用setdefault()添加新科目或获取现有科目的成绩computer_science_grade=student_grades.setdefault("computer_science",90)print("添加计算机科学成绩后:",student_grades)print("计算机科学成绩:",computer_science_grade)#使用update()更新成绩或添加新科目student_grades.update({"math":90,"art":85})print("更新数学成绩并添加艺术成绩后:",student_grades)#使用pop()移除并返回指定科目的成绩history_grade=student_grades.pop("history")print("移除历史成绩后:",student_grades)print("移除的历史成绩:",history_grade)#使用popitem()移除并返回最后一个添加的科目和成绩last_subject,last_grade=student_grades.popitem()print("移除最后一个科目和成绩后:",student_grades)print("移除的科目和成绩:",last_subject,last_grade)#使用fromkeys()创建一个新的成绩字典new_student_grades=dict.fromkeys(["math","english","science"],0)print("使用fromkeys()创建的新学生成绩字典:",new_student_grades)#使用copy()创建成绩字典的副本student_grades_copy=student_grades.copy()print("成绩字典副本:",student_grades_copy)31四、字典常用函数输出结果:所有科目:['math','english','history','science']所有成绩:[85,92,78,88]遍历科目和成绩:math:85english:92history:78science:88数学成绩:85艺术成绩(未记录,返回默认值):未记录添加计算机科学成绩后:{'math':85,'english':92,'history':78,'science':88,'computer_science':90}计算机科学成绩:90更新数学成绩并添加艺术成绩后:{'math':90,'english':92,'history':78,'science':88,'computer_science':90,'art':85}移除历史成绩后:{'math':90,'english':92,'science':88,'computer_science':90,'art':85}移除的历史成绩:78移除最后一个科目和成绩后:{'math':90,'english':92,'science':88,'computer_science':90}移除的科目和成绩:art85使用fromkeys()创建的新学生成绩字典:{'math':0,'english':0,'science':0}成绩字典副本:{'math':90,'english':92,'science':88,'computer_science':90}实例5.1.4——字典常用函数32四、字典常用函数(1)遍历字典的键forkeyinmy_dict:print(key)或者使用keys()方法:forkeyinmy_dict.keys():print(key)my_dict={'name':'LiLi','age':30,'city':'Beijing'}#遍历字典的键forkeyinmy_dict.keys():print(key)运行结果如下:nameagecity五、字典遍历与反向查找5.1字典遍历字典遍历通常是指通过键或键值对来访问字典中的数据。示例:33(2)遍历字典的值forvalueinmy_dict.values():print(value)my_dict={'name':'LiLi','age':30,'city':'Beijing'}
#遍历字典的值forvalueinmy_dict.values():print(value)运行结果如下:LiLi30Beijing5.1字典遍历示例:34五、字典遍历与反向查找(3)遍历字典的键值对forkey,valueinmy_dict.items():print(key,value)my_dict={'name':'LiLi','age':30,'city':'Beijing'}
#遍历字典的键值对foriteminmy_dict.items():print(item)运行结果如下:('name','LiLi')('age',30)('city','Beijing')5.1字典遍历示例:35五、字典遍历与反向查找5.2反向查找(通过值查找键)(1)使用循环遍历字典deffind_key_by_value(dictionary,value):forkey,valindictionary.items():ifval==value:returnkeyreturnNone#如果没有找到匹配的值,则返回None
#示例my_dict={'a':1,'b':2,'c':3}key=find_key_by_value(my_dict,2)print(key)#输出:b通过遍历字典的键值对来找到匹配的值,并返回对应的键。36五、字典遍历与反向查找5.2反向查找(通过值查找键)(2)使用列表推导式或生成器表达式#使用列表推导式(返回第一个匹配的键)key=next((keyforkey,valueinmy_dict.items()ifvalue==2),None)print(key)#输出:b
#注意:如果值在字典中不唯一,这种方法只会返回第一个找到的键。这种方法与第一种方法类似,但使用了更简洁的语法。37五、字典遍历与反向查找5.2反向查找(通过值查找键)(3)创建反向字典#创建原始字典my_dict={'a':1,'b':2,'c':3}
#创建反向字典reverse_dict={value:keyforkey,valueinmy_dict.items()}
#进行反向查找key=reverse_dict.get(2)print(key)#输出:b
#注意:这种方法要求字典中的值是唯一的。如果值不唯一,后面的键值对会覆盖前面的。如果反向查找操作非常频繁,并且字典的大小不是非常大,可以考虑创建一个反向字典来存储值到键的映射。38五、字典遍历与反向查找实例5.1.5——字典遍历与反向查找#创建一个字典student_scores={"张三":85,"李四":90,"王五":85,"赵六":92}#遍历字典并打印键值对print("学生分数:")forstudent,scoreinstudent_scores.items():print(f"{student}:{score}")#反向查找:通过分数查找学生deffind_students_by_score(scores_dict,target_score):return[studentforstudent,scoreinscores_dict.items()ifscore==target_score]#查找分数为85的学生target_score=85students_with_target_score=find_students_by_score(student_scores,target_score)print(f"分数为{target_score}的学生:{students_with_target_score}")学生分数:张三:85李四:90王五:85赵六:92分数为85的学生:['张三','王五']输出结果:39五、字典遍历与反向查找实例5.1.6——学生信息管理系统
小王是一名计算机专业的学生,正在参与一个小型项目,需要开发一个简单的学生信息管理系统。系统需要能够存储学生的基本信息(如姓名、班级)和各科成绩,并实现以下功能:1.添加学生信息:用户可以输入学生姓名、班级和各科成绩,并将这些信息存储到系统中。2.查询学生信息:用户可以通过学生姓名查询其班级和各科成绩。3.统计班级平均分:系统能够计算每个班级的平均成绩。4.找出某科成绩最高的前N名学生:用户可以指定科目和排名数量,系统输出该科成绩最高的前N名学生信息。六、综合案例40实例5.1.6——学生信息管理系统实例运行效果:1.添加学生信息:请输入学生姓名:张三请输入学生班级:班级1请输入语文成绩:85请输入数学成绩:90请输入英语成绩:88学生张三的信息已添加成功!2.查询学生信息:请输入要查询的学生姓名:张三学生:张三班级:班级1语文:85数学:90英语:883.统计班级平均分:班级:班级1,平均分:84.50班级:班级2,平均分:87.334.找出某科成绩最高的前N名学生:请输入科目(语文、数学、英语):数学请输入要显示的前N名:2数学成绩最高的前2名学生:姓名:李四,数学成绩:95,班级:班级2姓名:张三,数学成绩:90,班级:班级141六、综合案例42任务2无重类型-集合0504030201学习目标掌握集合作为无序、元素唯一的数据结构,了解其特性与应用场景;学会创建集合、添加、删除元素,以及进行交集、并集、差集等运算;利用集合高效去重、判断成员关系,解决实际问题,优化算法;通过集合的规范使用,培养严谨的编程态度和良好的代码风格;在数据处理中注重安全与隐私保护,培养责任感和数据安全意识。43在工作和学习中,会议签到是一个常见的场景。为了提高签到效率并避免重复签到,需要开发一个简单的签到系统。具体需求包括:一去除重复签到的人员,确保每位参会者只被记录一次;二快速统计实际到场的参会者数量;三快速判断某位参会者是否已经完成签到。在实际场景中,签到数据可能来自多种渠道,如线上签到、现场签到等,容易出现重复记录。我们使用什么样的数据类型来高效地实现这些功能?任务引入44Python中的集合(set)是一种无序且不包含重复元素的数据结构,非常适合处理去重和成员检查的问题。以下是Python中集合(set)的结构示意图,它支持快速成员检查、添加(add)、删除(remove或discard)操作,适合去重和集合运算。知识准备45一、创建集合1.1使用大括号{}创建集合大括号{}是创建集合的直观方式,可直接将元素放入其中形成集合。但需注意:(1)若大括号内为空或只有逗号分隔的无键值元素对,会被视为空集合或单元素集合,而非字典。(2)集合元素唯一性是其重要特性,即使在大括号内添加重复元素,集合也会自动去除重复项,确保每个元素只出现一次。示例代码:#创建一个包含几个字符串的集合aset={"Huawei","Vivo","Xiaomi"}print(aset)#输出:{'Xiaomi','Vivo','Huawei'}(注意输出顺序可能是随机的,因为集合是无序的)461.2使用set()函数创建集合#使用列表创建一个集合my_list=[1,2,2,3,4,4]my_set=set(my_list)print(my_set)
#输出:{1,2,3,4}(重复元素被自动去除)
#使用字符串创建一个集合my_string="hello"my_set_from_string=set(my_string)print(my_set_from_string)
#输出:{'h','e','l','o'}(字符串中的每个字符都成为了集合中的一个元素)set()函数是
Python的内置函数,其功能是将字符串、列表、元组、range对象等可迭代对象转换成集合。这个过程会自动去除可迭代对象中的重复元素。示例代码:47一、创建集合1.3创建空集合#创建一个空集合empty_set=set()print(empty_set)#输出:set()如果需要创建一个空集合,应该使用set()函数而不是大括号。因为大括号在不包含任何键值对时会被视为一个空字典,而不是空集合。示例代码:48一、创建集合二、集合基本操作2.1添加元素集合的基本操作包括添加元素、移除元素、计算集合大小、清空集合、判断元素是否存在等。(1)add()方法:向集合中添加一个元素。如果集合中已经存在该元素,则不会进行任何操作。(2)update()方法:向集合中添加一个或多个元素。参数可以是可迭代对象,如列表、元组、集合等。这允许一次性向集合中添加多个元素。49(1)remove()方法:如果元素在集合中,则移除该元素。否则会引发KeyError错误。(2)discard()方法:如果元素在集合中,则移除该元素。如果元素不存在,则不做任何操作。这个方法比remove()方法更安全,因为它不会引发错误。2.2移除元素50二、集合基本操作2.3计算集合大小使用len()函数可以获取集合的元素个数。2.4清空集合使用clear()方法可以清空集合中的所有元素。2.5判断元素是否存在使用in关键字可以判断一个元素是否存在于集合中。如果存在,则返回True;如果不存在,则返回False。51二、集合基本操作实例5.2.1——集合基本操作#创建两个集合set1={1,2,3,4}set2={3,4,5,6}
#添加元素到集合set1.add(7)
#向set1添加元素7print(set1)
#输出:{1,2,3,4,7}
#使用update()方法添加多个元素到集合set2.update([8,9,10])
#向set2添加元素8,9,10print(set2)
#输出:{3,4,5,6,8,9,10}
#计算集合大小print(len(set1))
#输出:5print(len(set2))
#输出:7#移除元素set1.remove(4)
#从set1中移除元素4print(set1)
#输出:{1,2,3,7}#注意:如果尝试移除一个不存在的元素,会抛出KeyError异常#set1.remove(10)
#这行代码会引发KeyError
#使用discard()方法安全移除元素set2.discard(5)
#如果元素5存在,则从set2中移除它;如果不存在,则不执行任何操作print(set2)
#输出:{3,4,6,8,9,10}
#判断元素是否存在print(2inset1)
#输出:Trueprint(2inset2)
#输出:False
#清空集合set1.clear()
#清空set1中的所有元素print(set1)
#输出:set()52二、集合基本操作三、集合间的运算集合之间的基本关系如表5-2-1所示。表5-2-1集合之间的基本关系关系表示文字语言符号语言空集集合为空相等集合A等于集合BA=B子集集合A是集合B的子集A⊆B真子集集合A是集合B的真子集A⊂B超集集合A是集合B的超集A⊇B真超集集合A是集合B的真超集A⊃B53表5-2-2Python的集合操作运算逻辑运算符含义交集&取两个集合的公共元素并集|取两个集合的全部元素差集-取一个集合中有、另一个集合中没有的元素对称差集^取集合A和集合B中不属于A&B的元素54三、集合间的运算3.1空集空集是指不含任何元素的集合,通常用符号“∅”或“Φ”来表示。3.2子集如果集合A的每一个元素都是集合B的元素,那么集合A是集合B的子集。通常用符号“A⊆B”来表示。说明:l
子集可能与集合相等,即当A=B时,A仍然是B的子集。l
真子集是指一个集合A是另一个集合B的子集,但A不等于B,即A⊂B。真子集更加严格地描述了集合之间的包含关系。空集与子集的关系:l
空集是自身的子集:由于空集不包含任何元素,它自然满足作为自身子集的条件。l
空集是任何集合的子集:这是空集的一个重要性质,它使得空集在集合论中具有特殊的地位。l
空集是非空集合的真子集:由于空集不包含任何元素,它不可能等于任何非空集合,因此是非空集合的真子集。55三、集合间的运算3.3超集如果集合B中的每一个元素都在集合A中,且集合A中可能包含B中没有的元素,那么集合A就是B的一个超集。反过来,B是A的子集。通常用符号“A⊇B”来表示。说明:l
包含关系:超集包含了其对应的子集的所有元素,并且可能包含更多元素。l
唯一性:给定一个集合和它的一个子集,超集不是唯一的,因为超集可以包含除了子集元素以外的任意其他元素。l
真超集:如果A是B的超集,并且A中一定存在B中没有的元素,那么A被称为B的真超集,即A⊃B。相应地,B是A的真子集。56三、集合间的运算3.4交集运算交集运算用于找出两个或多个集合中共有的元素。set1={1,2,3}set2={3,4,5}intersection_set=set1&set2#{3}3.5并集运算并集运算用于合并两个或多个集合中的所有元素,并去除重复的元素。union_set=set1|set2#{1,2,3,4,5}3.6差集运算差集运算用于找出属于一个集合但不属于另一个集合的元素。difference_set=set1-set2#{1,2}注意:这里的差集是set1相对于set2的差异部分。57三、集合间的运算3.7对称差集运算对称差集运算用于找出只属于其中一个集合而不是两个集合共有的元素。symmetric_difference_set=set1^set2#{1,2,4,5}3.8子集与超集运算l
使用<运算符判断一个集合是否是另一个集合的真子集。l
使用<=运算符判断一个集合是否是另一个集合的子集(包括真子集和相等)。l
使用>运算符判断一个集合是否是另一个集合的真超集。l
使用>=运算符判断一个集合是否是另一个集合的超集(包括真超集和相等)。58三、集合间的运算实例5.2.2——集合间的运算交集:{3}并集:{1,2,3,4,5}差集(set1-set2):{1,2}差集(set2-set1):{4,5}对称差集:{1,2,4,5}set1是set2的子集吗?Falseset1是set2的超集吗?Falseset1是{1,2,3}的子集吗?Trueset2是{3,4}的超集吗?True输出结果:set1={1,2,3}set2={3,4,5}
#交集运算intersection_set=set1&set2print("交集:",intersection_set)
#并集运算union_set=set1|set2print("并集:",union_set)
#差集运算difference_set=set1-set2print("差集(set1-set2):",difference_set)difference_set2=set2-set1print("差集(set2-set1):",difference_set2)
#对称差集运算symmetric_difference_set=set1^set2print("对称差集:",symmetric_difference_set)
#子集与超集运算print("set1是set2的子集吗?",set1<=set2)print("set1是set2的超集吗?",set1>=set2)print("set1是{1,2,3}的子集吗?",set1.issubset({1,2,3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 极端高温医疗物资储备调度
- 极端气候下传染病监测社会支持体系
- 临时厕所搭建协议
- 26年治未病随访服务适配要点
- 2026年我喜欢的书说课稿
- 小学心理教育2025说课稿抗挫折能力说课稿
- 2026年五下语文说课稿案例
- 医学26年:病窦综合征诊疗进展 心内科查房
- 医学26年:胃癌前病变管理 查房课件
- 上海工程技术大学《安全工程专业制图与 CAD》2025-2026学年第一学期期末试卷(B卷)
- 第二章 大规模杀伤破坏性武器及防护
- GB/T 26725-2023超细碳化钨粉
- 活性炭吸附装置操作规程
- 不甘屈辱奋勇抗争
- 铁路路基病害
- 2023同等学力政治学真题真题啊
- GB/T 40005-2021精细陶瓷强度数据的韦布尔统计分析方法
- GA/T 642-2020道路交通事故车辆安全技术检验鉴定
- 第十一章组织层面的环境管理课件
- 综采工作面作业规程(终极版)
- 高空作业专项施工方案(DOC)
评论
0/150
提交评论