集合和序列
集合集合是一种无序元素唯一的数据类型集合分为两种可变集合set内部的元素无序不能通过下标来访问会自动去重不可变集合forzenset特点与可变集合是一样的唯一区别是元素不可修改#定义可变集合 s1 {10,20,30,10,40,50} print(s1) s2 {python,java,c} print(s2) s4 set() print(type(s4),s4) #定义空集合 s4 set() print(type(s4),s4) #定义空集合不能用{}{}是字典 s5 {} #定义不可变集合需要用frozenset()) s3 frozenset({15.0,20,iu,True}) print(s3) s66 frozenset({1,2,34,5}) print(s6) #定义空集合 s7 frozenset() print(s7)frozenset接受的参数可以是任意迭代对象s6 frozenset({1,2,34,5}) print(s6) s8 frozenset(hello) print(s8) s9 frozenset([red,green,blue]) print(s9)如果集合中同时存在1与True会被集合自动去重谁在前面展示谁。0与False同理。原理布尔值True与False)为整形的子类型s5 {15.0,10,1,0,True,False} print(s5)集合不可以嵌套可变集合可以嵌套不可变集合集合不可以嵌套可变集合容器可以嵌套元素不可变数据容器数据容器如果是可变的就不可以放在集合里l1 {10,11,12} t1 {10,20,30} s1 {python,java,c} s2 frozenset({c, c1, c2})增集合.add(值):向集合中添加一个值集合.update(可迭代对象):向集合添加值必须是一个可迭代对象比如列表元组集合s1 {10,220,30,40} s1.add(50) s1.update(hello) s1.update([1,2,3]) s1.update((11,33,22)) print(s1)删除集合.remove()在集合中删除指定值若值不存在会报错集合.discard():在集合中删除指定值若不存在不会报错集合.pop():在集合中随机删除·返回删除的值集合.clear():清空集合s1.remove(50) s1.discard(44) res1 s1.pop() s1.clear() print(res1) print(s1)修改由于集合中没有下标所以没有专门的修改方法但可以结合removeadd来实现修改功能s2 {11,22,33,44} s2.remove(11) s2.add(55)使用成员运算符来实现查询功能使用成员运算符来实现查询功能in,not in返回结果为布尔值#in,not in res3 33 in s2 res4 66 in s2 print(res3) print(res4)集合特点1.无序集合中的元素没有有固定顺序无法通过下标来访问2.不重复集合会自动去重3.集合分为两种类型可变集合和不可变集合4.集合中的元素必须是不可变类型的元组字符串不可变集合数字5.集合支持数学运算并集|合并两个集合res1 s1 | s2 print(res1)交集返回两个集合同时拥有的数据res2 s1 s2 print(res2)差集在s1中拥有的但是集合s2中没有的res3 s1 - s2 print(res3)对称差集返回一个没有交集的数据res4 s1 ^ s2 print(res4)判断a3是否为a1的子集a1 {10,20,30,40,50} a2 {30,40,50,60,70} a3 {30,40,50} a4 {80,90} res1 a3.issubset(a1) print(res1)判断a1是否为a3的超集res2 a1.issuperset(a3) print(res2)判断是否没有交集res3 a3.isdisjoint(a4) print(res3)difference:判断s1与s2的不同元素s1 {10,20,30,40,50,11} s2 {11,12,13,14,15,15} res s1.difference(s2) print(res)序列1什么是序列就是能够存放元素的数据容器列表元组字符串都是序列2什么是切片从序列里面按照指定范围取出一部分元素形成一个新的序列切片1开始索引如果不写值默认从0开始2结束索引如果不写值默认截取序列末尾3步长如果不写值默认为14如果结束索引大于序列长度默认截取到序列末尾5如果结束索引大于开始索引步长必须为负数否则结果为空列表基本语法序列【开始索引结束索引步长】切片的操作是左闭右开l1 [faker,chovy,showmaker,bdd,zeka] res l1[4:2:-1] res1 l1[2:4:1] res2 l1[::-1] res3 l1[2:5:1] res4 l1[3:5:-1] res5 l1[6:10:1] print(res1)序列算法1.同类型的序列才可以相加2.序列相乘把序列重复指定次数l1 [2,0,2,6] l2 [2,2,0,1] res (l1 l2) res2 (l1 * 2) print(res2) s1 faker s2 chovy res3 s1 s2 print(res3)迭代对象一组可以返回的数据可以遍历的数据
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2444747.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!