【python】—— 集合

news2024/11/22 23:34:37

目录

(一)集合的概念

(二)集合的使用

2.1 集合的创建

2.2 集合元素的唯一性 

2.3 集合的操作

2.3.1 并集

2.3.2 交集

2.3.3 差集

2.3.4 补集

2.4 遍历集合

2.5 其他集合操作

2.5.1 添加元素

2.5.2 移除元素

 2.5.3 清空集合

 2.5.4 复制集合

(三)小结


(一)集合的概念

Python中的集合与数学中集合的概念一致,是一个无序的不重复元素序列,集合中只能存储不可变数据类型。

在Python中集合使用{}定义,与列表、字典- -样,都是Python中的可变数据类型。
 


(二)集合的使用

2.1 集合的创建

  • 可以使用花括号 {} 构造函数来创建集合
#使用花括号构造函数来创建集合
num_1 = {1, 2, 3, 4, 5}
print(num_1)
  • 集合只能存储不可变的元素,对于list 是无法创建成功的 
num_2 = {[1.2],[3,4]}
print(num_2)

 输出结果展示:

  • 使用set构造函数来创建集合 
#使用set构造函数来创建集合
num = set([3, 4, 5, 6, 7])
print(num)
  •  列表也可以创建集合:


2.2 集合元素的唯一性 

  •  验证集合是无序的不重复元素序列

  • 最后,既然集合相当于序列,当然可以使用序列的相关表示:
num=set(range(1,10))
print(num)

print('max:',max(num))
print('max:',min(num))
print('max:',len(num))

输出结果展示: 


2.3 集合的操作

2.3.1 并集

  • 并集:使用union()方法或|运算符可以获得两个集合的并集。
num1 = {1, 2, 3, 4}
num2 = {3, 4, 5, 6}

print(num1.union(num2)) #使用函数
print(num1 | num2) #使用运算符

输出结果展示: 


2.3.2 交集

  • 交集:使用intersection()方法或&运算符可以获得两个集合的交集。

 输出结果展示: 


2.3.3 差集

  • 差集difference() 方法或 - 运算符。

  输出结果展示: 


2.3.4 补

  • 补集:使用symmetric_difference()方法或^运算符可以获得两个集合的对称差集。

   输出结果展示: 


2.4 遍历集合

  • 可以使用循环遍历集合中的元素
num1 = {1, 2, 3, 4}
for item in num1:
    print(item)

    输出结果展示: 


  • 使用enumerate函数进行遍历 
num1 = {1, 2, 3, 4}
#使用enumerate函数进行遍历
for index,item in enumerate(num1):
    print(index,'-->',item)

    输出结果展示: 

2.5 其他集合操作

2.5.1 添加元素

  • 使用add() 方法进行元素添加:
num1 = {1, 2, 3, 4}

print(num1)
num1.add(6)  # 添加元素
print(num1)

   输出结果展示:  


2.5.2 移除元素

  • 通过remove()从集合中移除指定元素

   输出结果展示:  

  • 但是如果要删除的元素不存在会引发KeyError错误(使用discard()则不会引起这个问题


 2.5.3 清空集合

  • 通过clear()清空集合中的所有元素:


 2.5.4 复制集合

  • 复制集合copy() 方法来进行复制操作


(三)小结

以上是关于Python集合的基本概念和常用操作。集合在处理需要唯一元素且不关心顺序的情况下非常有用。

  • 在之前我已经带大家学习了列表,元组,字典和集合,接下来一张图小结一下各类之间的练习和区别:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1394416.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

15分钟学会Pinia

Pinia 核心 Pinia 介绍 官方文档:pinia.web3doc.top/ What is Pinia ? Pinia 是一个状态管理工具,它和 Vuex 一样为 Vue 应用程序提供共享状态管理能力。语法和 Vue3 一样,它实现状态管理有两种语法:选项式API 与 组合式API&a…

11- OpenCV:自定义线性滤波(卷积,卷积边缘)

目录 一、卷积 1、卷积概念 2、卷积如何工作 3、常见算子(卷积核 Kenel) 4、自定义卷积模糊 二、卷积边缘 1、卷积边缘问题 2、处理边缘 一、卷积 1、卷积概念 (1)在OpenCV中,卷积是一种常用的图像处理操作&…

Python+Selenium+Unittest 之selenium13--WebDriver操作方法3-鼠标操作2

这篇说下ActionChains里常用的几种鼠标操作的方法。 ActionChains常用的鼠标操作方法 click()鼠标左键单击double_click()鼠标左键双击context_click()鼠标右键单击move_to_element()鼠标移动到某个元素上(鼠标悬浮操作)click_and_hold()点击鼠标左键&am…

合并K个升序链表(LeetCode 23)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路方法一:顺序合并方法二:分治合并方法三:使用优先队列合并 参考文献 1.问题描述 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff…

Flink的KeyedProcessFunction基于Event Time和Process Time的定时器用法实例分析

FLink处理函数简介 在Flink底层,我们可以不定义任何具体的算子(比如 map,filter,或者 window),而只是提炼出一个统一的【处理】(process)操作——它是所有转换算子的一个概括性的表…

动手学深度学习5 矩阵计算

矩阵计算--矩阵怎么求导数 1. 导数和微分2. 偏导数3. 梯度1. 向量-标量求导2. 向量-向量求导3. 拓展到矩阵 4. 链式法则5. 小结QA练习 课程安排: 视频:https://www.bilibili.com/video/BV1eZ4y1w7PY/?spm_id_fromautoNext&vd_sourceeb04c9a33e87ce…

【复现】SpringBlade SQL 注入漏洞_22

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 SpringBlade 是由一个商业级项目升级优化而来的SpringCloud微服务架构,采用Java8 API重构了业务代码,完全…

具有中国特色的普及工厂数字化转型的新路子

工业互联网浪潮来袭,你准备好了吗? 国家智能制造专委会委员、浙江省智能制造专家委员会毛光烈主任在“第七届中国工业大数据大会”上的演讲,《具有中国特色的普及工厂数字化转型的新路子》,阐述了关于工厂订单全流程业务数据体系运…

C++核心编程之通过类和对象的思想对文件进行操作

目录 ​​​​​​​一、文件操作 1. 文件类型分类: 2. 操作文件的三大类 二、文本文件 1.写文件 2.读文件 三、二进制文件 1.写二进制文件 2.读二进制文件 一、文件操作 程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放 通过文件可以将…

GPT APP的开发步骤

开发一个GPT(Generative Pre-trained Transformer) Store(存储)涉及到使用预训练的语言模型(例如GPT-3)来生成和管理内容。以下是一般的步骤,希望对大家有所帮助。北京木奇移动技术有限公司&…

2024年美国大学生数学建模思路 - 案例:异常检测

文章目录 赛题思路一、简介 -- 关于异常检测异常检测监督学习 二、异常检测算法2. 箱线图分析3. 基于距离/密度4. 基于划分思想 建模资料 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 一、简介 – 关于异常…

适合进阶学习的 机器学习 开源项目(可快速下载)

目录 开源项目合集[>> 开源的机器学习平台:mlflow/mlflow](https://gitcode.com/mlflow/mlflow)[>> 机器学习路线图:mrdbourke/machine-learning-roadmap](https://gitcode.com/mrdbourke/machine-learning-roadmap)[>> 机器学习理论和…

VsCode 常见的配置

转载:Visual Studio Code 常见的配置、常用好用插件以及【vsCode 开发相应项目推荐安装的插件】 - 知乎 (zhihu.com) 一、VsCode 常见的配置 1、取消更新 把插件的更新也一起取消了 2、设置编码为utf-8:默认就是了,不用设置了 3、设置常用的…

阿里云云原生弹性方案:用弹性解决集群资源利用率难题

作者:赫曦 随着上云的认知更加普遍,我们发现除了以往占大部分的互联网类型的客户,一些传统的企业,一些制造类的和工业型企业客户也都开始使用云原生的方式去做 IT 架构的转型,提高集群资源使用率也成为企业上云的一致…

【51单片机】数码管的静态与动态显示(含消影)

数码管在现实生活里是非常常见的设备,例如 这些数字的显示都是数码管的应用。 目录 静态数码管:器件介绍:数码管的使用:译码器的使用:缓冲器: 实现原理:完整代码: 动态数码管&#…

Linux Shell脚本入门

目录 介绍 编写格式与执行方式 Shell脚本文件编写规范 脚本文件后缀名规范 首行格式规范 注释格式 shell脚本HelloWord入门案例 需求 效果 实现步骤 脚本文件的常用执行三种方式 介绍 3种方式的区别 小结 多命令处理 Shell变量 环境变量 目标 Shell变量的介绍 变量类型 系统环境…

Java 方法中参数类型后写了三个点?什么意思?

1、...代表什么意思? 2、如何使用 3、注意事项 4、两个list,一个新的,一个旧的,旧列表中可能有新列表中存在的数据,也可能存在新列表中不存在的数据(注:新旧列表中都不存在重复元素)…

【数据结构】堆:堆的构建,堆的向上调整算法,堆的向下调整算法、堆排序

目录 一、堆的定义 1、堆的定义: 2、根节点与其左、右孩子间的联系 二、堆的创建 1、堆的向下调整算法 2、堆的向上调整算法 三、堆排序 一、堆的定义 1、堆的定义: 堆可以被看作是一棵完全二叉树的数组对象。即在存储结构上是数组&#xff0c…

2024 年 10 款最佳 Windows 免费分区管理器软件

买了一台现成的全新电脑,出于多种原因希望对硬盘进行分区,例如,为了更好地组织文件。我们整理了一份最佳分区软件列表,可以帮助您轻松完成这项任务。 适用于 Windows 11/10/8.1/8/7 的最佳 10 个磁盘分区工具 1.奇客分区大师 兼容…

vue3自定义按钮点击变颜色(切换)

实现效果图&#xff1a; 默认选中第一个按钮&#xff0c;未选中按钮为粉色&#xff0c;点击时颜色变为红色 利用动态类名&#xff0c;当定义isChange数值和下标index相同时&#xff0c;赋予act类名&#xff0c;实现变色效果 <template><view class"page"&g…