集合的使用

本文介绍了Python集合的创建、空集合定义、元素判断、增删操作、集合间的关系以及数学操作,包括交集、并集、差集和对称差集等,并通过实例展示了集合生成式。
摘要由CSDN通过智能技术生成

‘’‘集合’’’

’’‘第一种集合的创建方式,{}’’'
s={1,2,3,3,4,5,6}#集合中的元素不能重复
print(s)#{1, 2, 3, 4, 5, 6}

’’‘第二种创建方式,内置函数set()’’'
s1=set(range(6))
print(s1,type(s1))#{0, 1, 2, 3, 4, 5} <class ‘set’>

s2=set([1,2,3,4,5,5,6,6])#set([])
print(s2,type(s2))#{1, 2, 3, 4, 5, 6} <class ‘set’>

s3=set((21,1,2,3,4,5))#set(()),集合当中的元素是无序的
print(s3,type(s3))#{1, 2, 3, 4, 5, 21} <class ‘set’>
s4=(set(‘python’))
print(s4,type(s4))#{‘p’, ‘o’, ‘t’, ‘h’, ‘y’, ‘n’} <class ‘set’>

s5=set({34,23,64,87,3,12,3})#set({})
print(s5,type(s5))#{64, 34, 3, 23, 87, 12} <class ‘set’>

’’‘定义一个空集合’’'
s6=set()
print(s6,type(s6))#set() <class ‘set’>

‘’‘集合的相关操作’’’

’’‘集合元素的判断操作’’'
s7=set((12,23,43,54,67,89,12))
print(12 in s7)#True
print(100 in s7)#False

’’‘集合元素的新增操作’’'
s7.add(123)#add,一次添加一个元素
print(s7)
s7.update((200,300,400))#一次至少添加一个元素
print(s7)

’’‘集合元素的删除操作’’'
s7.remove(200)
print(s7)
s7.remove(500)
print(s7)#KeyError: 500,500不存在,报异常

s7.discard(500)#元素500不存在,但不会报异常
print(s7)

s7.pop()#pop(),删除任意一个元素
print(s7)

s7.clear()#clear(),清空集合当中的元素
print(s7)#set()

’’‘集合之间的关系’’'

s8=set((1,2,3,4,5,6,7))
s9=set((1,2,3,4,5,6,7))
print(s8==s9)#True

’’‘一个集合是否是另一个集合的子集’’'
s10=set((1,2,3,4,5,6,7))
s11=set((1,2,3,4,5))
s12=set((1,2,3,10))
print(s11.issubset(s10))#True
print(s12.issubset(s11))#False

’’‘一个集合是否是另一个集合的超集’’'
print(s10.issuperset(s11))#True
print(s11.issuperset(s12))#False

’’‘两个集合是否含有交集’’'
print(s10.isdisjoint(s11))#False,有交集为False
s13=set((100,200,300))
print(s10.isdisjoint(s13))#True,没有交集为Ture

’’‘集合的数学操作’’'

’’‘交集操作’’'
s14=set((10,20,30,40,50))
s15=set((10,20,30))
print(s14.intersection(s15))#{10, 20, 30}
print(s14 & s15)#{10, 20, 30}

’’‘并集操作’’'
print(s14.union(s15))#{50, 20, 40, 10, 30}
print(s14 | s15)#{50, 20, 40, 10, 30}

’’‘集合的差集操作’’'
print(s14.difference(s15))#{40, 50}
print(s14 - s15)#{40, 50}

’’‘集合的对称差集操作’’'
s16=set((10,20,30,40,100,200))
s17=set((10,20,100,200,300,400))
print(s16.symmetric_difference(s17))#{400, 40, 300, 30}
print(s16 ^ s17)#{400, 40, 300, 30}

‘’‘集合生成式’’’

s18={i*i for i in range(10)}
print(s18)#{0, 1, 64, 4, 36, 9, 16, 49, 81, 25},集合的数据是无序的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值