python基础第十四课(集合)

什么是集合

  • Python语音提供的内置数据结构
  • 与列表, 字典一样都属于可变类型的序列
  • 集合是没有value的字典

集合的创建

  • 直接使用 { }
    s = { 'Python', 'hello', 90 }
  • 使用内置函数set()
    s = set(range(6))
s = {1, 2, 3, 4, 5, 6, 7} # 集合中的元素不允许重复
s1 = set(range(6)) # 使用set创建集合
s2 = set([1, 2, 3, 3, 4, 4, 5]) # 将列表转换为集合
s4 = set() # 定义一个空集合

集合的相关操作

  • 集合元素的判断操作
    • in 或 not in
  • 集合元素的新增操作
    • 调用add()方法,一次添加一个元素
    • 调用update()方法至少添加一个元素
  • 集合元素的删除操作
    • 调用remove()方法, 一次删除一个指定元素, 如果指定的元素不存在,抛出KeyError
    • 调用discard()方法, 一次删除一个指定元素,如果指定元素不存在不抛异常
    • 调用pop()方法, 一次只删除一个任意元素
    • 调用clear()方法, 清空集合
s = {1, 2, 3, 4, 5, 6, 7} # 集合中的元素不允许重复
print(1 in s) # 判断元素是否在集合中存在
s.add(8) # 一次添加一个元素
s.update((8,9,0)) # 至少添加一个元素
s.remove(0) # 一次删除一个指定元素
s.discard(1) # 一次删除一个指定元素
s.pop() # 一次删除一个任意元素
s.clear() # 清空集合

集合间的关系

  • 两个集合是否相等
    • 可以使用运算符==或!=进行判断
  • 一个集合是否是另一个集合的子集
    • 可以调用方法issubset进行判断
  • 一个集合是否是另一个集合的超集
    • 可以调用方法issuperset进行判断
  • 两个集合是否没有交集
    • 可以调用方法isdisjoint进行判断

集合的数学操作

在这里插入图片描述

# 交集
s1 = {10, 20, 30, 40}
s2 = {20, 30, 40, 50, 60}
print(s1.intersection(s2))  # {40, 20, 30}
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)

集合生成式

  • 用于生成集合的公式
   {i* i for i in range(1, 10)}
  • 将{}修改为[]就是列表生成式
  • 没有元组生成式
s = {i * i for i in range(10)}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值