1.集合的创建方式

 

 

#集合的创建方式
'''第一种创建方式使用{}'''
s={2,3,4,5,5,6,7,7} #集合中的元素不允许重复
print(s)

'''第二种创建方式使用set()'''
s1 =set(range(6))
print(s1,type(s1))

s2=set([1,2,4,5,5,6,7,8,7])
print(s2,type(s2))

s3=set((1,2,4,4,5,65)) #集合中的元素是无序的
print(s3,type(s3))

s4=set('python')
print(s4,type(s4))

s5=set({1,2,3,4,4,5})
print(s5,type(s5))

#定义一个空集合
s6={} #会发现是字典类型
print(type(s6)) #<class 'dict'>

#正确定义一个空集合
s7=set()
print(type(s7))

 

2. 集合的相关操作

#集合元素的判断操作
s={10,20,30,405,60}
'''集合元素的判断操作'''
print(10 in s)
print(100 in s)
print(10 not in s)
print(100 not in s)

'''集合元素的新增操作'''
s.add(80) #add一次添加一个元素
print(s)
s.update({200,300,400}) #至少添加一个元素
print(s)
s.update([500,600,700])
s.update((91,92,99))
print(s)

'''集合元素的删除操作'''
s.remove(10)
print(s)
#s.remove(55) #KeyError: 55
s.discard(55)

s.pop()
#s.pop(500) #TypeError: pop() takes no arguments
s.clear() #集合元素全部清空
print(s)

3.集合间的关系

 

 

'''两个集合是否相等(元素相同,就相等)'''
s={10,20,30,40}
s2={30,40,20,10}
print(s==s2)
print(s!=s2)

'''一个集合是否是另一个集合的子集'''
s1={10,20,30,40,50,60}
s2={10,20,30,40}
s3={10,20,90}
print(s2.issubset(s1))
print(s3.issubset(s1))

'''一个集合是否是另一个集合的超集'''
print(s1.issuperset(s2))
print(s1.issuperset(s3))

'''两个集合是否含有交集'''
print(s2.isdisjoint(s3))
s4={100,200,300}
print(s2.isdisjoint(s4))

 

 4.集合中的数学操作

 

 

'''集合中的数学操作'''
#(1)交集
s1={10,20,30,40}
s2={20,30,40,50,60}
print(s1.intersection(s2))
print(s1 & s2) #intersection()与&等价,交集操作

#(2)并集操作
print(s1.union(s2)) #union()与 | 等价,并集操作
print(s1 | s2)

#(3)差集操作
print(s1.difference(s2))
print(s1-s2)

#(4)对称差集
print(s1.symmetric_difference(s2))
print(s1 ^ s2)

 

 5.集合生成式

 

 

#列表生成式
lst=[ i*i for i in range(10)]
print(lst)

#集合生成式
s={i*i for i in range(10)}
print(s)

 

 

 

 

 

posted on 2021-12-07 00:02  从精通到陌生  阅读(57)  评论(0编辑  收藏  举报