数学中,两个集合关系的常见操作包括:交集、并集、差集、补集。设A.B是两个集合,集合之间的关系如下。

(1)交集是指属于集合A且属于集合B的元素所组成的集合。

(2)并集是指集合A和集合B的元素合并在一起组成的集合。

(3)差集是指属于集合4但不属于集合B的元素所组成的集合。

(4)补集是指属于集合A和集合B但不同时属于两者的元素所组成的集合。

Python 中集合之间支持前面所介绍的4种操作,操作逻辑与数学定义完全相同。Python提供了4种操作符以实现这4项操作,分别是交集(&)、并集(l)、差集(-)、补集(∧)。下面以两个圆形表示集合A和B,并使用阴影部分显示4种操作的结果,如图下图所示。

除此之外,Python还提供了4个增强操作符:l=、-=、&=、“=,它们与前面4个操作符的区别是,前者是生成了一个新的集合,而后者是更新了位于操作符左侧的集合。接下来通过一张表罗列集合S和T之间关系的常见操作,具体如表所示。

假设有集合a={1,11,21,31,17}和集合b={0,11,20,17,30),它们执行取交集、并集、差集、补集的示例如下:

>>>a={1, 11, 21, 31, 17}
>>> b={0,11,20,17,30}
>>>a|b    #取a和b的并集
{0, 1, 11, 17, 20, 21, 30, 31}
>>> a-b   #取a和b的差集
{1,21,31}
>>> a&b   #取a和b的交集
{17, 11}
>>> a∧b    #取a和b的补集
{0, 1, 20, 21, 30, 31}

对于两个集合A与B,如果集合A中的所有元素都是集合B的元素,那么集合B包含集合A,也就是说集合A是集合B的子集,集合B是集合A的超集;如果集合A中的所有元素都是集合B中的元素,且集合B中至少有一个元素不属于集合A,那么集合A是集合B的真子集,集合B是集合A的真超集。

Python 中使用的比较运算符可以用来检查某个集合是否为其他集合的子集或者超集,其中,“<”或者“<=”运算符用于判断真子集和子集,“>”和“>=”运算符用于判断的是真超集和超集。需要注意的是,“<”和“>”运算符支持的是严格意义定义的子集和超集,它们不允许两个集合相等;而“<=”和“>=”运算符支持的是非严格意义定义的子集和超集,它们允许两个集合是相等的。例如:

>>> set_ one = set('what')
>>> set_two = set('hat')
>>> set_one < set_two    #判断set_one是否为set_two 的严格子集
False
>>> set_one >set_two    #判断set_one是否为set two的严格超集
True

Python集合关系解读:Python语言中都有哪些集合关系?相关推荐

  1. java语言类间继承关系是,Java语言类间的继承关系是(    )。

    Java语言类间的继承关系是(    ). 更多相关问题 [判断题] 持有OPEN票的游客不需要机票的确认,可直接按票面时间去机场乘坐飞机.() [填空题] 导游服务性质是().().().().() ...

  2. 站长在线零基础Python完全自学教程18:Python中的集合完全解读

    欢迎你来到站长学堂,学习站长在线出品的在线课程<零基础 Python完全自学教程>今天给大家分享的是第18课< Python中的集合完全解读>.本节课是一个大课,我分了这些知识 ...

  3. java和python的优势_Java和Python哪个更好?解读Python对比其他语言的优势

    人生苦短,我用 Python,为啥这么说,因为我们码农圈有金句:学完Python,便可上天 ~ 首先 我要向各位坦诚,我对 Python 的喜爱也是从几年以前才开始的.不经历长期的痛苦教训,我们是不会 ...

  4. arcgispython编程案例_ArcGIS Python编程案例(1)-Python语言基础

    Python支持大部分在其他语言中出现的编程结构.在本章内容中,我们将会涉及到许多Python支持的编程结构.我们将会首先介绍如何创建一个新的Python脚本以及如何修改已有脚本.之后我们将深入了解P ...

  5. python字典(dict)+常用方法操作+列表、元组、集合、字典的互相转换

    python字典(dict)+常用方法操作+列表.元组.集合.字典的互相转换 字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 为了保存具有映射关系的数据,Python ...

  6. python基础教程是什么语言-0编程基础,什么语言也没学过,请问学Python怎样入门?...

    其实Python入门并不难,只要你有足够的自信心,明确学习目标,循序渐进就能不断享受到python带给你创新的乐趣. 大家为什么要学习python呢? 1.python简单易学 python的优势就是 ...

  7. 深入浅出地解读Python迭代器和生成器

    迭代器和生成器是Python很重要的进阶语法.虽然在一开始的学习中,不理解它们并不影响你写代码.但到一定阶段之后,如果没有掌握其原理,你可能无法彻底理解代码的运行逻辑.今天我们就给大家分享一篇关于迭代 ...

  8. python的基本语法和语言_Python基本语法

    1. 定义常量: 因为Python的常量相对其他语言,可能略显麻烦.不仅仅只是单靠const就可以完成常量定义的.在Python中定义常量需要用对象的方法来创建. 我们需要在Lib的目录下创建一个co ...

  9. python笔试知识点_python知识点及面试面试大集合

    一.基础篇 1. 为什么学习Python? 通过什么途径学习的Python? Python和Java.PHP.C.C#.C++等其他语言的对比? 简述解释型和编译型编程语言? Python解释器种类以 ...

最新文章

  1. 在Spark上用Scala实验梯度下降算法
  2. 三星第二财季净利69亿美元 同比增50%
  3. Hadoop的SequenceFile读写实例
  4. 6款html5模板下载
  5. 打印html文件都是空白页,我打印时的额外空白页面(IE中除外) – 是我的打印css吗?...
  6. sql2008计算机环境,win2008r2下安装sql2008r2初版
  7. 华南理工会计学计算机答案,2020华工会计学原理平时作业答案
  8. Django的下载与基本操作
  9. 专利申请之:交底和挖掘的方法
  10. 加拿大布兰登大学计算机专业,加拿大布兰登大学有哪些专业?
  11. 情感充沛,去体悟生活
  12. 第8周 项目5 定期存款利息计算器
  13. 中国软件杯——行人检测与跟踪(GitHub地址:https://github.com/dddlli/Swin-Transformer-Object-Detection-PaddlePaddle)
  14. element-ui input组件源码分析整理笔记(六)
  15. 不同封装0Ω电阻通流能力
  16. 基于SSM+MySQL+BootStrap+JSP的大学生校园二手市场交易系统(附论文)
  17. 大学计算机二级考试无故缺考,快来看看2019年起自考学历无故缺考的后果
  18. 数组在mysql中是什么类型_MySQL 中的数据类型介绍
  19. 新人零基础学UI设计有哪些学习方式?UI设计的未来发展怎么样?
  20. 史上最全的Java设计模式(更新中...)

热门文章

  1. Python 解压文件的几种方法
  2. linux下如何执行PHP脚本
  3. CHROME扩展笔记之拒绝unsafe-eval求值
  4. Android Studio使用zxing库扫描并解析条形码
  5. JavaScript 基础入门
  6. 《算法图解》学习笔记(六):图和广度优先搜索(附代码)
  7. mina简单实用_Mina入门实例(一)
  8. 灰点相机SDK研究(零)-Python安装灰点相机的SDK-spinnaker_python
  9. Groovy - GString String
  10. 华为5g服务器硬件供应商,华为P50系列硬件供应商名单曝光,国产化程度高,5G版或延后上市...