python数据类型 -- 集合Set

你好, 我是木木, 目前正在做两件事
  1. 沉淀自己的专业知识
  2. 探索了解各种副业项目,同时将探索过程进行分享,帮助自己以及更多朋友找到副业, 做好副业

文末有惊喜


在Python中,集合(Set)是一种无序、不重复元素的数据结构。集合的主要特点是元素唯一且不保留元素插入顺序。集合操作可以高效地进行数学集合运算,如并集、交集、差集和对称差集等。以下是一些Python集合的基本用法:

创建集合

创建集合可以通过大括号 {} 或者 set() 函数来实现。

# 创建一个空集合
empty_set = set()# 创建一个非空集合
example_set = {1, 2, 3, 'apple', 'banana'}# 也可以从列表或其他可迭代对象创建集合
list_to_set = set([1, 2, 2, 3, 3, 3])

集合操作

  • 添加元素:add() 方法用于添加单个元素到集合中,但集合本身是不可变的,所以不能直接修改,需要创建一个新的集合
s = set()
s.add(4)
  • 并集:union() 或使用 | 操作符将两个集合合并,得到包含所有元素的新集合,不重复。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
combined_set = set1.union(set2)  # 或者 combined_set = set1 | set2
  • 交集:intersection() 或使用 & 操作符找出两个集合共有的元素
common_elements = set1.intersection(set2)  # 或者 common_elements = set1 & set2
  • 差集:difference() 或使用 - 操作符获取集合中独有的元素。
unique_to_set1 = set1.difference(set2)  # 或者 unique_to_set1 = set1 - set2
  • 对称差集:symmetric_difference() 或使用 ^ 操作符找出两个集合中只在一个集合中存在的元素。
exclusive_elements = set1.symmetric_difference(set2)  # 或者 exclusive_elements = set1 ^ set2
  • 使用 in 关键字测试元素是否属于集合
element = 3
if element in set1:print("Element is in the set.")
  • 清空集合:由于集合是不可变的,不能直接清空,但可以通过创建一个空集合来达到类似效果
s = set()  # 创建一个新的空集合
  • 集合大小:使用 len() 函数获取集合中元素数量。
size = len(s)
  • 删除元素:使用 discard() 或 remove() 方法删除集合中的元素(如果存在的话)。
s.discard(1)  # 不报错,即使元素不存在
s.remove(2)  # 如果元素不存在,会引发 KeyError

集合因其高效的数据检索和去重特性,在数据清洗、关系运算、算法实现等领域具有广泛的应用价值。


好了,本章节到此告一段落了,希望对你有所帮助

另外,看漫画也能学python了,若您想要获取学习资源,欢迎通过微信与我交流(微信号:mumux183),备注"python漫画"
图片名称

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

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

相关文章

Java访问者模式源码剖析及使用场景

访问者模式 一、介绍二、报表系统开发三、MyBatis中如何使用访问者模式? 一、介绍 Java 中的访问者(Visitor)模式是一种行为型设计模式,它将数据结构与数据操作分离,使得在不修改数据结构的情况下可以增加新的操作。该模式主要包含以下几个角色: 抽象访问者(Visit…

【Linux】Centos7上安装MySQL5.7

目录 1.下载安装包2. 上传安装包3.将 mysql 解压到/usr/local/4.重命名5.创建mysql用户及用户组6. 进入 mysql 目录修改权限7. 安装依赖库8. 执行安装脚本9. 复制启动脚本到资源目录10. 拷贝 my.cnf,并赋予权限11. 配置环境变量12. 启动 mysqld13. 登录 MySQL&#…

3.13练习题解

1.空调: 这道题目我们不妨直接考虑(应该也很容易想到是差分,因为题目中给出的空调的功能已经有提示了),那么我们不妨对问题进行一下转化: 首先将当前温度和目标温度都确定下来,也就是&#xff…

1361:产生数(Produce)

【解题思路】 1、将数字拆分保存在数组中,而后转换每一位。 2、将数字变化规则保存在x、y两个一维数组中,x[i]到y[i]是一种转换规则。 3、从n的初始值开始搜索,对n做数字拆分,将拆分后的各位数字保存在一个数组中。针对数组中的每…

初识进程状态

🌎进程状态【上】 文章目录: 进程状态 发现进程的状态 运行队列 进程排队 进程状态的表述       状态在代码中的表示       运行状态       阻塞状态       挂起状态 总结 前言: 为了搞明白正在运行的进程是什么意思…

“批量记录,轻松修改:让收支明细管理更高效!“

在繁忙的现代生活中,管理个人收支明细成为了我们理财的重要一环。晨曦记账本,作为一款功能强大的记账工具,致力于帮助用户轻松记录和管理每一笔收支,让财务更加清晰、有序。 第一步,首先我们要记进入晨曦记账本主页面…

TSN工业交换机在煤矿行业的革命性应用

随着信息化时代的到来,煤矿行业也迎来了前所未有的机遇与挑战。在这个充满活力和竞争的领域,技术的革新对于提高生产效率、保障安全生产至关重要。而随着时间敏感网络(TSN)技术的不断发展,TSN工业交换机作为其关键组成…

第二证券|股票开户有什么条件?炒股新手一定要看!

股票买卖尽管投资风险是很高的,可是由于其报答性也高,仍是有许多投资者乐意去测验,这也带动了许多新手买卖。那么股票开户有什么条件?下面就由第二证券为大家剖析: 股票开户有什么条件? 1、年龄要求 处理…

Anaconda3安装pandas失败,处理办法

安装 pandas 失败可能是由于多种原因造成的,以下是一些解决这个问题的常见方法: 0、清理Anaconda缓存,重新安装pandas conda clean --all conda install pandas 1、更新 Anaconda: 确保你的 Anaconda 环境是最新的。可以使用以下命令来更新…

C# mysql数据库操作

MySQL 是一个流行的开源关系型数据库管理系统,由瑞典 MySQL AB 公司开发并后来被 Oracle 公司收购。MySQL 提供了可靠和高性能的数据存储和检索能力,适用于各种规模的应用程序。以下是 MySQL 数据库的介绍、使用场景以及优缺点: 数据库介绍&…

二分查找的理解及应用场景。

一、是什么 在计算机科学中,二分查找算法,也称折半搜索算法,是一种在有序数组中查找某一特定元素的搜索算法 想要应用二分查找法,则这一堆数应有如下特性: 存储在数组中有序排序 搜索过程从数组的中间元素开始&…

(黑马出品_高级篇_02)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

(黑马出品_高级篇_02)SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术——分布式事务 今日目标1.分布式事务问题1.1.本地事务1.2.分布式事务1.3.演示分布式事务问题 2.理论基础2.1.CAP定理2.1.1.一致性2.1.2.可用性2…

WMS系统批次管理全面解析

一、WMS系统批次管理的基本概念 WMS系统的批次管理,是指对仓库中不同批次的产品进行精细化、规范化的管理,确保产品的可追溯性、可控制性和安全性。批次管理涉及到产品的入库、存储、出库等各个环节,通过对批次的精确控制,实现仓…

面试经典-4-LRU 缓存

题目 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返…

RK3568行业定制主板脉冲群抗扰度整改方案验证

1. 试验目的及原理 电快速瞬变脉冲群EFT试验的目的是验证电子设备机械开关对电感性负载切换、继电器触点弹跳、高压开关切换等引起的瞬时扰动的抗干扰能力。这种试验方法是一种耦合到电源线路、控制线路、信号线路上的由许多快速瞬变脉冲组成的脉冲群试验。容易出现问题的场合有…

微信小程序开发:上传网络图片到阿里云oss

上文遇到的问题,用户上传的人像图片在经过人像增强后返回的结果需要再次上传到阿里云的oss。 因为是需要下下载,再上传,这个域名我们没有在MP后台配置download域名,所以报错了: 但是MP后台只能配置https的域名&#xf…

常见面试题之计算机网络

1. OSI 五层模型(或七层模型)是什么,每一层的作用是什么 应用层:又可细分为应用层、表示层、会话层。其中应用层主要做的工作就是为应用程序提供服务,常见的协议为 HTTP、HTTPS、DNS等;表示层主要做的工作…

如何只用pycharm创建venv虚拟环境

如何只用pycharm创建venv虚拟环境 网上貌似没有好的博客讲解,我之前也一直在这环境搭建上疑惑。不过照着我这博客来,应该没问题了。 前言 如图所示,我新建了一个空白文件夹。 接下来点击终端(AltF12) 如果发现开头…

使用Thymeleaf-没有js的html模板导出为pdf

html模板 <!DOCTYPE html> <html xmlns:th"http://www.thymeleaf.org"><head><title>PDF Template</title> </head> <body> <h1>User Information</h1> <p>Name: <span th:text"${user.name}&…

【BI-Dataease】dataease设计思路

参考&#xff1a;https://juejin.cn/post/7089310768671227940 1、BI可视化工具的关键问题是什么&#xff1f; &#xff08;1&#xff09;各种数据源的数据结构和类型如何统一&#xff1f; &#xff08;2&#xff09;各种图表的配置属性不一致&#xff0c;属性如何绑定到数据…