课时20:集合的运算

简介: 本内容介绍集合的运算,涵盖交集、并集、差集、异或集及子集等概念。通过Python代码示例详细说明各运算符(如 &、|、-、^、<=、<、>=、>)的使用方法,并解释其在实际编程中的应用。重点在于理解集合运算的基本原理及其在编程中的实现,帮助读者掌握集合运算的基础知识。

集合的运算

 

摘要:本内容为集合的运算的介绍。

 

01.集合的运算基础介绍


1.1集合的运算的基础信息

接下来说明集合,在初高中时学过集合,画出一个中括号,里面有几个数,或者使用画圈的方式表示集合。

左边一个圈,右边一个圈,中间相交的部分为交集,两个都包含的部分为并集。这些交集,并集运算在 Phyon 集合运算中可以进行。

接下来说明集合的运算,新建一个文件:

image.png

(1)在对集合做运算时,不会影响原来的集合,而是返回一个运算结果(1+1不会改变1,会返回一个2)

#创建两个集合
S={1,2,3,4,5}
S2={3,4,5,6,7}
(2) & 交集运算
S & S2
Print(S S2)

保存执行:

image.png

想查看结果:

Result =S&S2  # {3,4,5}
Print('result =',result)

保存执行:

image.png

两个集合相交,在A集合中有,在B集合中也有,中间的部分为交集。

(3)丨并集运算

Result =S | S2  #{1,2,3,4,5,6,7}

S与S2中都有的。像 Update 将两个集合合并为一个集合,并集运算,不会影响原来的集合。

保存执行:

image.png

(4) - 差集

Result =S-S2  #{1,2}

保存执行:

image.png

只在A集合中有,在B集合中没有的,是差集。

(5) ^ 异或集:获取只在一个集合中出现的元素

Result =S^S2  #{1,2,6,7}

保存执行:

image.png

或集是一个集合中有,另一个集合中没有的。差集和异或集使用较少,交集,并集使用较多。

(6) <=检查一个集合是否是另一个集合的子集

如果a集合中的元素全部都在b集合中出现,那么a集合就是b集合的子集,b集合是a集合超集

a={1,2,3}
b={1,2,3,4,5}

A中的元素在B中都有,则A是B的子集。

Result a <=b  #True(证明A确实为B的子集,A的元素在B中全有,B不是A的子集 )

保存执行:返回 True

image.png

Resu1t={1,2,3}<={1,2,3}

如果两个集合一模一样,则都为子集。

保存执行:

image.png

Resu1t={1,2,3,4,5}<={1,2,3}  #False

保存执行:

image.png

 

(7) <检查一个集合是否是另一个集合的子集

image.png

此情况不为真子集,因为两个集合中的元素是一样的。

image.png

如图,B中有和A中一样的元素,并且有A没有的元素,那么A是B的真子集。如果超集b中含有子a中所有元素,并且b中还有a中没有的元素,则b就是a的真超集,a是b的真子集。超集和子集要不一样,不一样就是真超集,真子集,若一样也算超集,子集,实际上一样,并没有真正的超过它,<就是把 = 情况去除。

Resu1t={1,2,3}<{1,2,3}   #False

保存执行:

image.png

Resu1t={1,2,3}<{1,2,3,4,5}   #True

保存执行:

image.png

(8) >=检查一个集合是否是另一个的超集

(9) >检查一个集合是否是另一个的真超集

整体使用并不多,关系体会即可。不计概念理解大于小于即可。

比如小于等于,前者后者小,就是他有你没有,那就是比如果你有的全有,并且还有你没有的,那他是较大的。所以其实就是比较一个大小

这个集合的运算,整体来说用的都不多,但是要做一下,因为用的时候要想得起来有这些东西,这里面学的都是一些理论知识全都记住,现在来讲不太现实,全都记住不可能。所以现在需要的是讲完以后多写几遍,多练几遍,现在先一脸熟,以后用的时候给回忆起来,现在来讲就够了。到现在为止,第三四章那个序列说完,序列全部内容讲解完毕。

除了序列,还有字典,集合。强调一下For循环,实际开发中较多,练习题目多加进行。

相关文章
|
分布式计算 API Linux
通义千问API:找出两篇文章的不同
本章我们将介绍如何利用大模型开发一个文档比对小工具,我们将用这个工具来给互联网上两篇内容相近但版本不同的文档找找茬,并且我们提供了一种批处理文档比对的方案
|
监控 Java API
掌握 Spring Boot AOP:使用教程
Spring Boot 中的面向切面编程(AOP)为软件开发提供了一种创新方法,允许开发者将横切关注点与业务逻辑相分离。这不仅提高了代码的复用性和可维护性,而且还降低了程序内部组件之间的耦合度。下面,我们深入探讨如何在 Spring Boot 应用程序中实践 AOP,以及它为项目带来的种种益处。
|
9月前
|
存储 人工智能 云栖大会
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
|
数据采集 监控 JavaScript
网站流量日志分析 —数据采集—页面埋点 JavaScript 收集数据|学习笔记
快速学习网站流量日志分析—数据采集—页面埋点 JavaScript 收集数据
831 0
网站流量日志分析 —数据采集—页面埋点 JavaScript 收集数据|学习笔记
|
4月前
|
XML JSON API
识别这些API接口定义(http,https,api,RPC,webservice,Restful api ,OpenAPI)
本内容介绍了API相关的术语分类,包括传输协议(HTTP/HTTPS)、接口风格(RESTful、WebService、RPC)及开放程度(API、OpenAPI),帮助理解各类API的特点与应用场景。
|
运维 监控 安全
深入理解微服务架构:设计原则、挑战与实践
深入理解微服务架构:设计原则、挑战与实践
|
9月前
|
人工智能 自然语言处理 算法
DeepSeek 大模型在合力亿捷工单系统中的5大应用场景解析
工单系统是企业客户服务与内部运营的核心工具,传统系统在分类、派发和处理效率方面面临挑战。DeepSeek大模型通过自然语言处理和智能化算法,实现精准分类、智能分配、自动填充、优先级排序及流程优化,大幅提升工单处理效率和质量,降低运营成本,改善客户体验。
506 2
|
9月前
|
存储 Python
课时19:集合的介绍
集合是Python中一种不可重复且无序的数据结构,用于存储唯一的元素。其主要特点包括: 1. 唯一性:集合中的元素不能重复。 2. 无序性:元素的顺序不按插入顺序保存。 3. 不可变对象:只能存储不可变类型(如字符串、数字、元组),不能存储列表或字典等可变对象。
|
10月前
|
人工智能 算法 云计算
通义大模型合作计划升级发布
通义大模型合作计划升级发布
|
11月前
|
JSON 前端开发 安全
【潜意识java】前后端跨域问题及解决方案
本文深入探讨了跨域问题及其解决方案。跨域是指浏览器出于安全考虑,限制从一个域加载的网页请求另一个域的资源。
2435 0