3.4 集合字典数据表示及操作.pptx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 数据表示和计算 1 3.4.3 集合和字典 1. 集合 2.字典 2 1. 集合 集合的特点 集合是无序的,不能通过数字进行索引。 集合的元素不能重复出现 集合的应用 去除列表中的重复元素 求两个列表的相同元素(交集) 求两个列表的不同元素(差集) 3 (1)创建集合 Python的集合可分为可变集合(set)和不可变集合(frozenset) 对可变集合( 可以添加和删除元素, 对不可变集合 则不允许添加和删除元素这样 使用{}创建的是可变集合set,{}中用逗号分隔的数据项作为集合的一个元素。 通过类型构造器set()和frozenset()创建不同类型的集合。 4 【例3-4-16】集合的字面表示示例 s1={2,4,6,8,10} type(s1) class set s1 {8, 10, 4, 2, 6} s2={hello} s2 {hello} 5 【例3-4-17】集合的类型构造器示例 set函数的参数是容器对象,可以是字符串,列表和元组,它可以将序列的数据元素作为集合set的元素。 s3=set(hello) s3 {l, e, o, h} 同样还可以根据列表对象元组来创建集合 s5=set((he,hello,her,here)) s5 {here, hello, he, her} 6 【例3-4-18】列表去重复操作示例 通过set函数建立列表的去重复集合元素,再通过list方法根据集合创建列表: L1 = [1,2,3,4,1,2,3,4] s4=set(L1) s4 {1, 2, 3, 4} L2=list(s4) L2 [1, 2, 3, 4] L2是去重复后的列表,上面的过程也可简单地写为: L2=list(set(L1)) print L2 [1, 2, 3, 4] set是可以改变的集合类型,如果创建后的集合不需改变集合元素,可创建不可变集合。 7 【例3-4-19】 创建一个星期的英文缩写的不可变集合。 s6=frozenset((MON,TUE,WED,THU,FRI,SAT,SUN)) s6 frozenset({SUN, WED, TUE, SAT, FRI, MON, THU}) 8 (2)访问集合 由于集合本身是无序的,所以不能为集合创建索引或切片操作,只能循环遍历或使用in、not in来访问或判断集合元素。 9 【例3-4-20】集合访问示例 SUN in s6 True SON in s6 False for i in s6: print(i,end= ) SUN WED TUE SAT FRI MON THU 10 (3)集合运算 11 运算 描述 运算 描述 x in 集合 检测x是否在集合中 s1==s2 判断集合是否相等 s1|s2 并集 s1=s2 判断s1是否是s2的子集 s1s2 交集 s1s2 判断s1是否是s2的真子集 s1-s2 差集 s1=s2 判断s1是否是s2的超集 s1^s2 对称差 s1s2 判断s1是否是s2的真超集 s1|=s2 将s2的元素并入s1     【例3-4-21】集合运算示例 对前面已建立的集合s2,s5作以下操作: s2 {hello} s5 {here, hello, he, her} s2=s5 True s5s2 True s2s5 {hello} s5-s2 {her, he, here} s2|s5 {her, hello, he, here} 12 【例3-4-21】集合运算示例(续) 判断两个集合是否相等,只需判断其中包含的集合元素是否一致,与顺序无关,下面的例子又说明了集合是无序的。 s7={he,hello, her,here} s7 {her, hello, he, here} s5 {here, hello, he, her} s5==s7 True 13 (4)集合对象的方法 打星号*的方法是set集合独有的方法,不打星号的方法是两种集合都有的方法 14   方法 描述   s1.union(s2 ) s1|s2   s1.difference(s2) s1-s2   s1.intersection(s2) s1s2   s1.issubset(s2) s1=s2   s1.issuperset(s2) s1=s2 * s1.update(s2) 将将s2的元素并入s1 * s1.add (x) 增加元素x * s1.remove(x) 移除x,x不存在报错 * s1.discard(x) 移除x,x不存在不报错 * s1.pop () 从s中删除并返回任意一个元素 * s1.clear () 清空s   s1.copy

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档