集合(集合竞价)

网友投稿 330 2022-08-26


集合(集合竞价)

集合的概念

1.Python语言提供的内置数据结构

2.与列表,字典一样属于可变类型的序列

3.集合是没有value的字典

集合的创建方式

1.直接花括号{}

print('---------字典的创建方式---------')print('----1.{}----')s = {'python' , 'world' , 652}print(s)

2.使用内置函数set()

print('----2.内置函数set()-----')s1 = set((range(6)))print(s1)print(set([3,4,56,7])) #列表->集合print(set((652,654,777))) #元组->集合print(set('python')) #字符串->集合print(set({124,489,315}))print(set())

集合的存储不是顺序存储的,按照hash表的方式存储

3.空集合的创建方式

print('----空集合的创建----')s = {}print(s)s1 = set()print(s1)s = {1 ,2 ,3 ,3 ,4 ,4 ,5}print(s) #其中元素是不能重复的

集合的相关操作

1.集合的判断操作

in / not in

print('--------------------集合的相关操作--------------------')print('----判断操作----')s = { 'python' , 'java' , 652}#inprint('python' in s) #python在s中,Trueprint('cplusplus' in s) #cplusplus不在s中,False#not print( 'php' not in s) #php不在s中,Trueprint('java' not in s) #java在s中,False

2.集合的新增操作

调用add()方法,一次添加一个元素

调用update()方法,至少添加一个元素

print('----2.新增操作-----')s = {'python'}print(s)s.add('java')print(s)s.update({ 2022,2018,2015 }) #增加集合中的元素print(s)s.update([2,3,4]) #将列表中的元素加进去print(s)s.update((100,200,300)) #将元组中的元素加进去print(s)

3.集合的删除操作

调用remove()方法,一次删除一个指定元素,如果指定元素不存在抛出KeyError

调用discard()方法,一次删除一个指定元素,如果指定元素不存在抛出异常

调用pop()方法,一次只删除一个任意元素

调用clear()方法,清空集合

print('----3.删除操作-----')s = { 1,2,3,40,50,60,700,800,1000 }print(s)s.remove(1000)print(s)s.discard(700)print(s)s.pop() #不能指定参数,一般删除首元素print(s)s.clear()print(s)

集合间的关系

1.两个集合是否相等

!= ==print('----------------集合间的关系-----------------')print('----是否相等-----')s = {10,20,30,40}s1 = {20,30,40,10}print(s == s1)print(s != s1)

2.一个集合是否是另一个集合的子集

issubset()print('----子集----')s = {1,2,3,4,7,8,9}s1 = {1,2,4,7}s2 = {3,5,7,8,9}print(s1.issubset(s)) #s1 是 s 的子集print(s2.issubset(s)) #s2 不是 s 的子集

3.一个集合是否是另一个集合的超集

issuperset()print('----超集-----')s = {1,2,3,4,7,8,9}s1 = {1,2,4,7}s2 = {3,5,7,8,9}print(s.issuperset(s1))print(s.issuperset(s2))

4.两个集合没有超集

isdisjoint()print('----没有交集----')s = { 1,2,4,5}s1 = {2,4,7}s2 = {3,6,9}print(s.isdisjoint(s1)) #没有交集为Trueprint(s.isdisjoint(s2)) #有交集为False

集合的数学操作(交集,并集,差集,对称差集)

print('-------------集合的数学操作----------')s1 = { 10,20,30,40 }s2 = { 20,30,40,50,60 }#交集 两个集合共有的元素print(s1.intersection(s2))print(s1 & s2)#并集 两个集合的元素加起来(其中重复的元素只要一个)print(s1.union(s2))print(s1 | s2)#差集 其中一个集合减去共有的元素,剩下的就是差集print(s1.difference(s2))print(s1 - s2)#对称差集 两个集合都减去共有的元素,剩下的是对称差集print(s1.symmetric_difference((s2)))print(s1 ^ s2)

集合生成式

print('---集合生成式----')s = { i*i for i in range(5) }#将{}改为[]就是列表生成式print(s)print(type(s))


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python调用pip(python调用ping命令代码示例)
下一篇:Python3中类型注解的学习与实践(python3注释)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~