版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
集合的定义和应用制作:教材编写团队出版社:机械工业出版社《Python编程基础与应用》配套课件本课件为《Python编程基础与应用(第2版)》配套教学资源,由编写团队精心打造。为便于教学使用,团队同步提供了丰富的辅助材料,涵盖微课视频、教学课件、实训手册、习题答案、课程标准及程序源代码等。同时,教材配套超星教学示范包,支持一键克隆为网络在线课程,助力高效开展线上线下混合式教学。欢迎联系出版方订购使用。
书名:《Python编程基础与应用(第2版)》出版社:机械工业出版社主编:蓝永健、陈冬冬副主编:蔡德琛、朱海鑫、邓爱玲+contents目录集合的定义集合的特性集合的基本操作集合的数学运算集合的关系运算集合的常用方法集合的定义01集合的定义#使用花括号定义集合fruit_set={'苹果','香蕉','橙子'}print(fruit_set)#输出:{'苹果','香蕉','橙子'}#使用set()函数定义集合number_set=set([1,2,3,2])#注意列表中有重复元素print(number_set)#输出:{1,2,3}集合使用花括号{}或set()函数创建,元素之间用逗号分隔。特殊定义方式#空集合empty_set=set()print(empty_set)#输出:set()#从字符串创建集合(会自动去重)char_set=set('你好世界')print(char_set)#输出:{'你','好','世','界'}空集合必须使用set()创建,因为{}表示空字典可以从其他可迭代对象创建集合集合的特性02唯一性(自动去重)duplicate_set={'北京','上海','北京','广州'}print(duplicate_set)#输出:{'北京','上海','广州'}集合会自动去除重复元素无序性city_set={'北京','上海','广州'}print(city_set)#每次运行可能输出不同顺序,如{'广州','上海','北京'}集合中的元素没有固定顺序集合的基本操作03集合的基本操作操作类型方法/运算符示例(中文场景)结果说明添加元素set.add(element)colors={'红色','蓝色'}
colors.add('绿色')添加后:{'红色','蓝色','绿色'}删除元素set.remove(element)fruits={'苹果','香蕉','橙子'}
fruits.remove('香蕉')删除后:{'苹果','橙子'}
(元素不存在会报错)删除元素set.discard(element)fruits.discard('梨')无变化(元素不存在不报错)清空集合set.clear()numbers={1,2,3}
numbers.clear()清空后:set()添加元素color_set={'红色','绿色'}color_set.add('蓝色')print(color_set)#输出:{'红色','绿色','蓝色'}使用add()方法添加单个元素删除元素animal_set={'猫','狗','鸟'}#remove()方法-如果元素不存在会报错animal_set.remove('狗')print(animal_set)#输出:{'猫','鸟'}#discard()方法-如果元素不存在不会报错animal_set.discard('鱼')#不会报错print(animal_set)#输出:{'猫','鸟'}使用remove()或discard()方法删除元素集合的数学运算04集合的数学运算运算类型方法/运算符示例(中文场景)结果说明并集`或set.union(set2)`A={'数学','语文'}
B={'英语','数学'}
`A交集&
或
ersection(set2)X={'篮球','足球'}
Y={'足球','乒乓球'}
X&Y{'足球'}差集-
或
set.difference(set2)M={'北京','上海'}
N={'上海','广州'}
M-N{'北京'}对称差集^
或
set.symmetric_difference(set2)P={'春天','夏天'}
Q={'夏天','秋天'}
P^Q{'春天','秋天'}集合的数学运算运算类型数学符号Python运算符结果说明并集∪|包含两个集合的所有元素(去重)交集∩&包含两个集合的共同元素差集−-包含在第一个集合但不在第二个集合中的元素对称差集△^包含只属于其中一个集合的元素(并集减去交集)数学运算与集合关系并集(|):合并所有唯一元素。交集(&):找出共同元素。差集(-):保留只在第一个集合中的元素。对称差集(^):保留仅属于其中一个集合的元素(即不同时存在的元素)。集合的数学运算集合的数学运算并集运算set_a={'数学','语文','英语'}set_b={'数学','物理','化学'}#使用|运算符union_result=set_a|set_bprint(union_result)#输出:{'数学','语文','英语','物理','化学'}#使用union()方法union_result2=set_a.union(set_b)print(union_result2)#输出同上使用|运算符或union()方法交集运算set_x={'篮球','足球','乒乓球'}set_y={'足球','羽毛球','网球'}#使用&运算符intersection_result=set_x&set_yprint(intersection_result)#输出:{'足球'}#使用intersection()方法intersection_result2=set_ersection(set_y)print(intersection_result2)#输出同上使用&运算符或intersection()方法差集运算set_m={'北京','上海','广州'}set_n={'广州','深圳'}#使用-运算符difference_result=set_m-set_nprint(difference_result)#输出:{'北京','上海'}#使用difference()方法difference_result2=set_m.difference(set_n)print(difference_result2)#输出同上使用-运算符或difference()方法对称差集set_p={'春天','夏天','秋天'}set_q={'夏天','秋天','冬天'}#使用^运算符sym_diff_result=set_p^set_qprint(sym_diff_result)#输出:{'春天','冬天'}#使用symmetric_difference()方法sym_diff_result2=set_p.symmetric_difference(set_q)print(sym_diff_result2)#输出同上使用^运算符或symmetric_difference()方法集合的关系运算05子集和超集set_a={'语文','数学'}set_b={'语文','数学','英语'}#子集检查print(set_a<=set_b)#输出:Trueprint(set_a.issubset(set_b))#输出:True#真子集检查print(set_a<set_b)#输出:True#超集检查print(set_b>=set_a)#输出:Trueprint(set_b.issuperset(set_a))#输出:True#真超集检查print(set_b>set_a)#输出:True使用<=(子集)、>=(超集)、<(真子集)、>(真超集)运算符子集、超集、真子集、真超集的形象解释想象你有一个装着不同颜色蜡笔的盒子:全集(大盒子):{'红色','蓝色','黄色','绿色'}子集(小盒子):{'红色','蓝色'}这个"小盒子"里的蜡笔全部来自"大盒子",所以它是大盒子的子集(用≤或issubset()表示)。就像说"我选的颜色都是你有的"。超集(反向关系):大盒子包含小盒子的所有颜色,所以大盒子是小盒子的超集(用≥或issuperset()表示)。就像说"我有的颜色能覆盖你选的"。子集、超集、真子集、真超集的形象解释真子集(更小的盒子):如果小盒子是{'红色'},它不仅是子集,还是真子集(用<表示),因为大盒子有更多颜色。就像说"我选的颜色是你的一部分,但你没选全"。真超集(更大的盒子):同理,大盒子此时是小盒子的真超集(用>表示),因为大盒子有额外颜色(蓝色/黄色/绿色)。就像说"我不仅覆盖你的颜色,还有更多"。记忆口诀:"子集小,超集大;真子集更小,真超集更大"。不相交检查set_x={'红色','绿色'}set_y={'蓝色','黄色'}set_z={'绿色','蓝色'}print(set_x.isdisjoint(set_y))#输出:True(没有共同元素)print(set_x.isdisjoint(set_z))#输出:False(有共同元素'绿色')使用isdisjoint()方法检查两个集合是否有共同元素集合的常用方法06集合长度和拷贝fruit_set={'苹果','香蕉','橙子','西瓜'}#获取集合长度print(len(fruit_set))#输出:4#集合拷贝fruit_copy=fruit_set.copy()print(fruit_copy)#输出:{'苹果','香蕉','橙子','西瓜'}使用len()获取集合元素数量,使用copy()创建集合副本集合与其他类型的转换#集合转列表city_set={'北京','上海','广州'}city_list=list(city_set)print(city_list)#输出:['广州','上海','北京'](顺序可能不同)#集合转元组city_tuple=tuple(city_set)print(city_tuple)#输出:('广州','上海','北京')(顺序可能不同)#列表转集合(自动去重)food_list=['米饭','面条','米饭','包
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 压力容器安全技术管理
- 2026初一年级家长会课件
- 2026中国真空热成型包装行业终端应用领域拓展与机会分析
- 2026磁性材料企业产学研合作模式创新案例分析
- 2026中国种业机械化发展现状及投资机会研究报告
- 2026中国固态电池电解质材料研发突破与量产障碍分析
- 2026肉牛养殖金融支持政策及投融资机会研究报告
- 贵州省顶效开发区七年级生物下册 4.4.2血流的管道-血管教学设计 (新版)新人教版
- 高中物理 第十二章 机械波 4 波的衍射和干涉教案3 新人教版选修3-4
- 人教版生物八年级下册第八单元第一章第二节免疫和计划免疫 教学设计
- 成人阻塞性睡眠呼吸暂停诊治指南(2025版)
- 腔镜手术器械准备,安装与使用
- 2026年教师资格《幼儿园教育》保教知识与能力模拟试卷
- 2026中国疫苗市场消费需求与增长潜力研究报告
- 2025年人工智能与伦理问题考试题及答案
- 2026秋冀教版六年级英语上册全册知识点汇、总+默写专项练习
- 第9课 特殊关爱 助我成长 第2课时 课件(内嵌视频)2026-2027学年道德与法治六年级上册统编版
- 项目部质量管理体系范本
- 金属工艺学说课
- 2026年新教材八年级上册历史全册必背知识点考点提纲
- 2026年6月英语四级真题(第一套)附答案
评论
0/150
提交评论