Python常用数据结构--集合

集合

一组用“{ }”括起来的无序不重复元素,元素可以是各种类型的不可变对象

集合的创建

  1. 直接用花括号创建
vehicle = {"train","bus"}
  1. 用set方法创建
vehicle = set(["train","bus"])

注:空集合只能用set()创建,原因是Python将“{}”用于创建空字典

集合的运算

  1. len():求元素个数
  2. in():判断某元素是否在集合中(返回boolean型)
  3. set1 | set2 :并集运算(生成一个新的集合) set1|=set2(将set2并入set1中)
  4. set1 & set2:交集运算
  5. set1 - set2:差集运算(在set1中不在set2中)
  6. set1 ^ set2:对称差(两个集合中不重叠的元素)
  7. 子集的判断:set1<=set2(子集) set1<set2(真子集)
  8. 超集的判断:set1>=set2(超集) set1>set2(真超集)

集合的方法

  1. union():并集
  2. intersection():交集
set1 = {'a','b','c'}
set2 = {'a','e','f'}
#使用这两个方法均是生成一个新的集合,而不是修改原来的集合
set3 = set1.intersection(set2)
set4 = set1.union(set2)
print(set3)
print(set4)

运行结果:
在这里插入图片描述

  1. update():并运算,与union()的不同在于update()方法修改了原集合,而不是生成一个新的集合。
  2. difference():求差集
  3. symmetric_difference():求对称差
set1 = {'a','b','c'}
set2 = {'a','e','f'}
set3 = set1.difference(set2)
set4 = set1.symmetric_difference(set2)
print(set3)
print(set4)

运行结果:
在这里插入图片描述

  1. issubset():判断是否是子集
  2. issuperset():判断是否是超集
set1 = {'a','b','c'}
set2 = {'a'}
print(set2.issubset(set1))
print(set1.issuperset(set2))

运行结果:
在这里插入图片描述

  1. add():添加元素(即使元素已经存在也不会报错)

  2. remove():删除元素(若没有此元素会报错)

  3. discard():删除元素(若没有此元素不会报错)

set1 = {'a','b','c'}
set1.add('d')
set1.add('a')
print(set1)
set1.remove('d')
print(set1)
set1.remove('d')
set1.discard('d')

运行结果:
在这里插入图片描述

  1. pop():删除任一元素并返回该元素的值
set1 = {'a','b','c'}
print(set1.pop())  #多次运行发现pop方法删除元素是随机的
print(set1)

运行结果:
在这里插入图片描述

  1. clear():删除集合中的所有元素,变成空集合
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值