我们在遇到一些问题的时候,使用集合的交集、并集和差集能够更便捷的帮助我们去解决问题,看下面一个例子。

某学校有两个班级,班级A需要学习数学、语文、英语、物理、化学和生物,班级B需要学习数学、语文、英语、政治、地理和历史。

我们可以直接看出A班级和B班级的交集为数学、语文和英语,并集为数学、语文、英语、物理、化学、生物、政治、地理、历史,A和B的差集为物理、化学和生物。

那么怎么使用Python去完成这些运算?

我们先在这里定义两个集合,A = {'数学','语文','英语','物理','化学','生物'}

B = {'数学','语文','英语','政治','地理','历史'}

1. 交集

我们使用集合求交集的时候可以采用两种方式,一种是使用‘&’运算符进行操作,一种是使用intersection()方法来实现。

我们通过这两种方法来分别求集合A和B的交集。

方法1——使用‘&’运算符:>>> A = {'数学','语文','英语','物理','化学','生物'}

>>> B = {'数学','语文','英语','政治','地理','历史'}

>>> A & B

{'英语', '语文', '数学'}

方法2——使用intersection()方法:>>> A = {'数学','语文','英语','物理','化学','生物'}

>>> B = {'数学','语文','英语','政治','地理','历史'}

>>> A.intersection(B)

{'英语', '语文', '数学'}

因为是求交集,因此A和B的位置调换依然不影响结果。

2. 并集

使用集合求并集的方式同样也是两种方式,一种是使用‘|’运算符进行操作,一种是使用union()方法来实现。

方法1——使用‘|’运算符>>> A = {'数学','语文','英语','物理','化学','生物'}

>>> B = {'数学','语文','英语','政治','地理','历史'}

>>> A | B

{'英语', '物理', '语文', '政治', '化学', '数学', '生物', '地理', '历史'}

方法2——使用union()方法>>> A = {'数学','语文','英语','物理','化学','生物'}

>>> B = {'数学','语文','英语','政治','地理','历史'}

>>> A.union(B)

{'英语', '物理', '语文', '政治', '化学', '数学', '生物', '地理', '历史'}

求并集的时候同样不需要注意A和B的位置关系。

3. 差集

使用集合求差集的方式同样也是两种方式,一种是使用‘-’运算符进行操作,一种是使用difference()方法来实现。

方法1——使用‘-’运算符>>> A = {'数学','语文','英语','物理','化学','生物'}

>>> B = {'数学','语文','英语','政治','地理','历史'}

>>> A - B

{'物理', '生物', '化学'}

>>> B - A

{'政治', '历史', '地理'}

方法2——使用difference()方法>>> A = {'数学','语文','英语','物理','化学','生物'}

>>> B = {'数学','语文','英语','政治','地理','历史'}

>>> A.difference(B)

{'物理', '生物', '化学'}

>>> B.difference(A)

{'政治', '历史', '地理'}

在方法2中注意A和B的位置不同的时候是有区别的,如果是A使用difference()方法,那么是输出A中有而B中没有的元素,如果是B使用difference()方法,那么是输出B中有而A中没有的元素。

4. 总结

学习完了集合,四种核心集合我们已经基本掌握,接下来几节我们来通过学习一些字符串的相关操作,学习字符串的过程中会穿插着前面简单介绍过但没仔细讲解的方法及操作。

python运算符计算集合差集的是_集合的运算(交集、并集和差集)相关推荐

  1. Python科学计算库核心知识点总结_代码篇(ML/DL依赖语法)

    Python科学计算库核心知识点总结_代码篇(ML/DL依赖语法)                                                                    ...

  2. python运算符计算集合并集_Python集合、集合的运算、集合方法详细讲解

    集合:由不同元素组成,无序的,不重复的序列 补充知识:可变类型:列表.字典:不可变类型:数字.字符串.元组 使用大括号{}或set()方法定义集合 se=set("hello") ...

  3. python上计算2的100次方_用VBS精确计算2的100次方的代码

    既然Python可以计算2的100次方,那么我就要用VBS实现.不过这个效率嘛,计算2的10000次方Python用了0.009013秒,VBS用了120.9805秒,不是一个等级的,我就不多说什么了 ...

  4. java集合框架的结构_集合框架(Collections Framework)详解及代码示例

    简介 集合和数组的区别: 数组存储基础数据类型,且每一个数组都只能存储一种数据类型的数据,空间不可变. 集合存储对象,一个集合中可以存储多种类型的对象.空间可变. 严格地说,集合是存储对象的引用,每个 ...

  5. Oracle 集合操作详解(并集 union、交集 intersect、差集 minus)

    文章目录 1 概述 2 示例 1 概述 1. Oracle 中有三种集合操作(1) 并集 union all -- 不去重,不排序,效率高union -- 去重,默认排序,效率低 (2) 交集 int ...

  6. 如何获取集合里面的下标_集合上下极限公式的理解

    对于集合的上下极限,有公式为: , 这里面要注意的是如果要避免混淆,应该将等式左边的下标变量修改为 ,也就是左边的下标变量和右边的没有任何关系.如果如下修改,就不会造成任何误解 , 现在问题上极限为什 ...

  7. java 8 stream流求交集并集和差集

    集合: 交集 :set1.retainAll(set2); 并集:set1.addAll(set2); 差集:set1.removeAll(set2); list 交集:list1.retainAll ...

  8. Python基础知识 2022-11-14 ★ 小结 43-50 字典_集合

    文章目录 字典 字典的特点 创建方式 字典元素的访问 字典元素的添加 字典元素的删除 字典的序列解包 序列解包用于列表 序列解包用于元组 序列解包用于字典 表格的构建和打印,列表和字典综合嵌套 字典核 ...

  9. python函数计算乘积教材课后题_小学弟敲了一个晚上整理的Python初学者习题,我发出来给你们学习...

    装饰器以及剩余的定义函数一边做题一边编译器里敲,已经天亮了沉迷python,无法自拔希望初学者认真做题,总会有帮助的,在里面我每道题尽可能用多种方法解! 私信小编007即可自动获取大量Python视频 ...

最新文章

  1. 2022-2028年中国FEP薄膜行业市场发展规模及市场分析预测报告
  2. 如何看待研究生导师直接说你写的论文就是垃圾?
  3. hdu2037 今年暑假不AC
  4. 数字调制2ASK误码率分析matlab实现
  5. python爬虫之request_Python爬虫:Scrapy研读之Request/Reponse
  6. java 继承 封装 多态 详解
  7. JAVA 大作业——DAY 3
  8. SQL语句详解(三)——SQL子查询
  9. 一、软件测试概念和理论
  10. godaddy购买域名
  11. 代码覆盖率工具lcov
  12. python函数之enumerate()快速打印出列表中的元素以及对应的下标
  13. Unity快速入门之台球小游戏(二)
  14. android studio 2.2 preview4,Android Studio变黄了,2.2 Preview 4 发布
  15. 让汉字快速匹配拼音、你不知道的快速方法
  16. 使用C#编写一个简单的文字小游戏
  17. Kubernetes写yaml文件遇到的尴尬事情
  18. L1-054. 福到了
  19. ICN:SDN后的下一个热潮
  20. C语言 用字符串打印ASCII码值

热门文章

  1. 软件设计七大原则:(四)接口隔离原则
  2. 相片怎么变成漫画头像?分享个好用的处理工具
  3. linux怎么升级gcc版本号,GCC升级至高版本
  4. 震撼百年的演讲:王财贵教授北师大讲座 之一
  5. 如何生成文件夹的目录结构
  6. 哪些手机能升级Android11,8款国产手机宣布升级Android 11:快看有你吗?
  7. 3-2 Coursera吴恩达《构建机器学习项目》 第二周课程笔记-机器学习策略(2)
  8. 智能信息检索——可变字节码的编码和解码算法实现
  9. 如何在iPhone,iPad,Mac上添加或删除受信任的电话号码?
  10. iOS 开发 关闭黑暗模式