Skip to content

Latest commit

 

History

History
291 lines (188 loc) · 6.43 KB

108-192413-集合_运算_交集_并集_差集_对称差集.sy.md

File metadata and controls

291 lines (188 loc) · 6.43 KB
show version enable_checker
step
1.0
true

集合运算

回忆

  • 上次先学习了冰封集合
  • 不能修改的集合
    • 就是冰封集合

图片描述

  • 正如
    • 不能修改的列表就是元组
    • 不能修改的对象是常量
    • 是hashable的
    • 是可以作为集合的集合项的
    • 冰封集合也是可以作为集合项的
  • 集合有没有运算呢?🤔

回忆一下集合运算

  • 高中数学中有集合的运算
    • 交集
    • 并集
    • 差集

图片描述

  • 有点复杂
  • 我们先建立两个基础集合

基础

  • 两个集合
    • s1 十以内能被2整除的数字
    • s2 十以内能被3整除的数字

图片描述

  • 构成集合的状态

图片描述

  • 看看交集

集合的交集 intersection

图片描述

  • 交集
    • 两个集合都有的元素构成的集合

图片描述

  • 中间的共有部分
    • intersection
      • 既在s1这个section
      • 又在s2这个section
  • 看看效果

intersection

图片描述

  • & 是一个运算符号
    • 可以让集合求交集

图片描述

  • 效果与intersection函数一样
  • 都是求交集
  • 我们做一个练习

孙子算经

图片描述

  • 说有这么一个数字
    • 三个三个数 余二
    • 五个五个数 余三
    • 七个七个数 余二
  • 问这个数是多少?

被 三整除 余二

图片描述

  • 这样我们就得到了所有被三整除余 2 的数字
  • 自己完成后面的操作吧

交集运算

图片描述

  • 观察答案

图片描述

  • 交集之后是并集

并集

图片描述

  • union 指的是联合

图片描述

  • 把两个集合和到一起
  • 试一试

union

图片描述

  • 两个集合的并集

图片描述

  • 可以有一个符号来求并集吗?

| union运算

  • |
    • 就是求并
    • 就是union运算

图片描述

  • 可以连续运算吗?

连续运算

图片描述

  • 一般都是从右往左计算的
  • 可是下面这个如何理解?

图片描述

运算优先级(precedence)

  • 就像先乘除后加减一样
    • & 和 | 的优先级是不同的

图片描述

  • 优先级
    • 先&(交)
    • 后|(并)
  • 同样优先级 从左到右
  • 有括号的要优先

图片描述

差集运算

图片描述

  • 如何理解difference

图片描述

  • 词根来自于拉丁
    • 后来成为古法语
      • 最后成为英语单词
  • 不同的
    • 分开抚养的

具体运算

图片描述

  • 如图所示

图片描述

  • 既然可以从s1 中刨除 s2
  • 就可以从s2 中刨除 s1

s2 - s1

图片描述

  • 得到的差集(difference)

图片描述

  • 这俩有点对称
    • s1 - s2
    • s2 - s1
  • 这还不算真对称

对称差

  • 有一种 symmetric_difference
  • 什么意思?

图片描述

  • symmetric [sɪ'metrɪk] 来自于
    • symmetry [ˈsɪmətri]
    • syn-
      • 同步的
      • 一起的
    • *me
      • 度量
        • measure 测量
        • meter 测量装置
        • month 计算月份
  • symmetric_difference
    • 对称差集

对称差集

图片描述

  • 具体计算

图片描述

对称

  • 对称差集中的元素
    • 要么在这个集合
    • 要么在那个集合
    • 不同时在两个集合
  • 有点像逻辑运算中的异或

图片描述

  • 如何理解对称呢?

图片描述

  • s1对于s2的对称差集
  • 就是s2 对于 s1 的对称差集
  • 这很对称
  • 可以有符号表示对称差吗?

符号^

图片描述

  • 再试试

图片描述

  • 可以把他理解成交或者并的运算么?

对称差集

图片描述

  • 这和对称差一定相等吗?

图片描述

  • 对称差集本质上是
    • 并集减去交集
    • 注意运算的时候要加括号

总结

  • 这次学习了集合的运算

图片描述

  • 集合总共四种运算
    • 交集
      • intersection
      • &
    • 并集
      • union
      • |
    • 差集
      • differece
    • 对称差集
      • symmetric_difference
      • ^
  • 这些运算可以做增强赋值吗?🤔
    • 就像 i += 1那样
  • 下次再说 👋 右