集合

识字粗堪供赋役,不须辛苦慕公卿。这篇文章主要讲述集合相关的知识,希望能为你提供帮助。
集合的概念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
#in
print(python in s)#python在s中,True
print(cplusplus in s)#cplusplus不在s中,False
#not
print( php not in s)#php不在s中,True
print(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)) #没有交集为True
print(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))










【集合】


    推荐阅读