python数据结构----集合


集合

概念

python语言提供的内置数据结构
可变序列
集合没有value的字典

创建

s={'python',123,2}
print(s)

s=set(range(6))
print(s)

print(set([3,4,53,56]))
print(set((3,4,43,435)))
print(set('python'))
print(set({123,4,4,6}))
s={}
s1=set()
print(s,type(s))
print(s1,type(s1))

在这里插入图片描述

添加删除

1.添加

  • add()
    一次添加一个元素
  • update()
    一次至少添加一个元素
#添加
s.add(80)#添加单个元素
print(s)
s.update({1000,2000,3000})#至少添加一个元素
s.update([4000,5000,6000])
s.update((7000,8000,9000))
print(s)

在这里插入图片描述

2.删除

  • remove()
    一次删除一个指定元素,如果制定元素不存在抛出KeyError
  • discard()
    一次删除一个指定元素,如果指定的元素不存在不抛异常
  • pop()
    一次只删除一个任意元素
  • clear()
    清空集合
s.remove(100)
print(s)
#s.remove(10000)  不存在抛出KeyError

s.discard(4000)
print(s)
s.discard(10000)#不存在的时候不抛出异常

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

s.clear()
print(s)

在这里插入图片描述

集合关系

  • 一个集合是否是另一个集合的子集,调用方法issubset进行判断
  • 一个集合是否是另一个集合的超集,调用方法issuperset进行判断
  • 两个集合是否没有交集,调用方法isdisjoint进行判断
s1={1,2,3,4}
s2={1,2,3}
s3={1,2,7}

#判断是否是子集
print(s2.issubset(s1))#true
print(s3.issubset(s1))#false
#判断是否是超集
print(s1.issuperset(s2))#true
print(s1.issuperset(s3))#false
#判断两个集合是否没有交集
s4={1000,2000}
print(s1.isdisjoint(s2))#false
print(s1.isdisjoint(s4))#true

集合间的数学操作

在这里插入图片描述

#交集
s1={10,20,30,40}
s2={20,30,40,50}
print(s1.intersection(s2))
print(s1&s2)

#并集
print(s1.union(s2))
print(s1|s2)

#差集
print(s1.difference(s2))

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

在这里插入图片描述

集合生成式

s={i*i for i in range(6)}

在这里插入图片描述

列表,字典,元组,集合总结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值