大数据的Python基础课件第5章-集合.pptx

上传人(卖家):晟晟文业 文档编号:4105501 上传时间:2022-11-11 格式:PPTX 页数:16 大小:61.31KB
下载 相关 举报
大数据的Python基础课件第5章-集合.pptx_第1页
第1页 / 共16页
大数据的Python基础课件第5章-集合.pptx_第2页
第2页 / 共16页
大数据的Python基础课件第5章-集合.pptx_第3页
第3页 / 共16页
大数据的Python基础课件第5章-集合.pptx_第4页
第4页 / 共16页
大数据的Python基础课件第5章-集合.pptx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、第5章 集合1本章学习目标 理解集合中元素不重复的特点 熟练掌握使用集合去除重复内容的用法 理解并熟练掌握集合运算 熟悉内置函数对集合的操作25.1 基本概念Python集合是无序的、可变的容器类对象,所有元素放在一对大括号中,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一的,不允许重复。集合中只能包含数字、字符串、元组等不可变类型的数据,而不能包含列表、字典、集合等可变类型的数据,包含列表等可变类型数据的元组也不能作为集合的元素。集合中的元素是无序的,元素存储顺序和添加顺序并不一致。集合不支持使用下标直接访问特定位置上的元素,也不支持使用random中的choice()函数从集合中随机

2、选取元素,但支持使用random模块中的sample()函数随机选取部分元素。35.2 集合创建与删除 a=3,5#创建集合对象 x=3,5,2#集合中每个元素都必须是不可变的Traceback(most recent call last):File,line 1,in x=3,5,2TypeError:unhashable type:list45.2 集合创建与删除 set(0,1,2,3,0,1,2,3,7,8)#转换时自动去掉重复元素0,1,2,3,7,8 set(Hello world)#把字符串转换为集合,自动去除重复,d,r,o,w,l,H,e x=set()#空集合 set(1,

3、2),(3,)#只包含简单值的元组可以作为集合的元素(1,2),(3,)set(1,2),(3,),4)#集合不能作为集合的元素Traceback(most recent call last):File,line 1,in set(1,2),(3,),4)TypeError:unhashable type:set55.3 集合常用操作与运算 元素增加与删除 集合运算 内置函数对集合的操作65.3.1 集合元素增加与删除(1)add()方法 s=20,30,50 s#自动调整顺序,不需要关心这一点50,20,30 s.add(40)s40,50,20,30 s.add(25)#自动调整顺序 s4

4、0,50,20,25,30 s.add(25)#集合中已经有25,该操作被忽略 s40,50,20,25,30 s.update(30,70)#自动忽略重复的元素 s70,40,50,20,25,3075.3.1 集合元素增加与删除(2)pop()、remove()、discard()s.discard(50)#删除50 s70,40,20,25,30 s.discard(3)#集合中没有3,该操作被忽略 s70,40,20,25,30 s.remove(3)#使用remove()方法会抛出异常Traceback(most recent call last):File,line 1,in s.

5、remove(3)KeyError:3 s.pop()#随机弹出并删除一个元素70 s40,20,25,3085.3.2 集合运算 a_set=set(8,9,10,11,12,13)b_set=0,1,2,3,7,8 a_set|b_set#并集,返回新集合#自动忽略重复元素0,1,2,3,7,8,9,10,11,12,13 a_set&b_set#交集8 a_set-b_set#差集9,10,11,12,13 a_set b_set#对称差集0,1,2,3,7,9,10,11,12,1395.3.2 集合运算 1,2,3 1,3,2 1,2,5 1,2,4#第二个集合不是第一个集合的子集F

6、alse105.3.3 内置函数对集合的操作 x=1,8,30,2,5 x#集合元素的存储顺序和写入顺序不一样1,2,5,8,30 len(x)#返回元素个数5 max(x)#返回最大值30 sum(x)#所有元素之和46 sorted(x)#内置函数sorted()总是返回列表1,2,5,8,30 list(map(str,x)1,2,5,8,30115.3.3 内置函数对集合的操作 list(filter(lambda item:item%5=0,x)#支持filter()函数,保留能被5整除的数5,30 list(enumerate(x)#支持enumerate()函数(0,1),(1,

7、2),(2,5),(3,8),(4,30)all(x)#检查是否所有元素都等价于TrueTrue any(x)#检查是否有元素等价于TrueTrue list(zip(x)#支持zip()函数(1,),(2,),(5,),(8,),(30,)list(reversed(x)#不支持reversed()函数Traceback(most recent call last):File,line 1,in list(reversed(x)TypeError:set object is not reversible125.4 集合应用案例例例5-1 过滤书评,如果一条书评中重复的字超过一定比例就认为无效

8、。comments=这是一本非常好的书,作者用心了,作者大大辛苦了,好书,感谢作者提供了这么多的好案例,书在运输的路上破损了,我好悲伤。,为啥我买的书上有菜汤。,啊啊啊啊啊啊,我怎么才发现这么好的书啊,相见恨晚,好好好好好好好好好好好,虽然读起来比较轻松,但还是自己运行一下代码理解更深刻,书的内容很充实,你的书上好多代码啊,不过想想也是,编程的书嘛,肯定代码多一些,书很不错!一级棒!买书就上当当,正版,价格又实惠,让人放心!,无意中来到你小铺就淘到心意的宝贝,心情不错!,送给朋友的、很不错,这真是一本好书,讲解内容深入浅出又清晰明了,强烈推荐。135.4 集合应用案例#定义过滤规则,如果不重复

9、的字超过70%才认为有效rule=lambda s:len(set(s)/len(s)0.7#使用内置函数filter()对书评进行过滤result=filter(rule,comments)print(过滤后的书评:)for comment in result:print(comment)145.4 集合应用案例例例5-2 使用集合实现筛选法求解不大于指定自然数的所有素数。n=int(input(请输入一个自然数:)#生成指定范围的候选整数,使用集合存储numbers=set(range(2,n)#最大数的平方根m=int(n*0.5)+1#遍历最大整数平方根之内的自然数for p in r

10、ange(2,m):for i in range(2,n/p+1):#在集合中删除数字p的所有倍数 numbers.discard(i*p)print(numbers)155.4 集合应用案例例例5-3 统计给定字符串中每个字符的出现次数,要求使用集合。from string import digitsfrom random import choices#生成包含100个随机数字的字符串#join()是字符串的方法,用于把多个字符串连接成为更长的字符串text=.join(choices(digits,k=100)#转换为集合,只保留唯一字符uniqueCharacters=set(text)#统计每个唯一字符的出现次数,count()是字符串方法for ch in uniqueCharacters:print(ch,text.count(ch),sep=:)16

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(大数据的Python基础课件第5章-集合.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|