Python set集合方法详解

"""
set()函数是个无序的去重集合,可以用来过滤重复元素
Python 提供了 2 种创建 set 集合的方法,分别是使用 {} 创建和使用 set() 函数将列表、元组等类型数据转换为集合
"""# 空集合
s0 = set()           # 正确方式 → set()
# s = {} → 要创建空集合,只能使用 set() 函数实现。因为直接使用一对 {},Python 解释器会将其视为一个空字典
print(s0)
# 从可迭代对象创建
s1 = set([1,2,2,3])  # 列表转集合 → {1,2,3}
s2 = set("hello")    # 字符串转集合 → {'h','e','l','o'}
s3 = frozenset([1,2,3])  # 不可变集合 → 无法修改元素
print(s1,s2,s3)# 添加元素
# 使用 add() 方法添加的元素,只能是数字、字符串、元组或者布尔类型(True 和 False)值,不能添加列表、字典、集合这类可变的数据
s = {1,2,3}
s.add(5)            # → {1,2,3,5}
s.add("abc")
s.add((4,5,6))
s.add(False)
print("s.add()", s)s.update([5,6,7])   # → {1,2,3,5,6,7}
print("s.update([5,6,7]) ", s)# 删除元素
s.remove(7)         # → 删除指定元素,不存在则报错
print("s.remove(7) ", s)  # {1, 2, 3, 5, 6}
s.discard(100)      # 安全删除,元素不存在不报错
print("s.discard(100)", s) # {1, 2, 3, 5, 6}
x = s.pop()         # 随机删除一个元素并返回
print(" s.pop()", s, x)a = {1,'c',1,(1,2,3),'c'}
print(a)  #集合可以用来过滤重复元素# Python set集合做交集、并集、差集运算
# 交集 & 取两集合公共的元素
# 并集    |  取两集合全部的元素,过滤重复元素
# 差集   -   取前一个集合中,另一个集合没有的元素
# 对称差集 ^ 取集合 A 和 B 中不属于 A&B 的元素A= set([1,2,3])B= set([3,4,5])
print("交集", A&B)  # 交集 {3}
print("并集", A|B)  # 并集 {1, 2, 3, 4, 5}
print("差集", A-B)  # 差集 {1, 2}
print("对称差集", A^B) # 对称差集 {1, 2, 4, 5}
print(type(A^B))my_list = {1, 2, 3, 4, 5}
last_element = my_list.pop()
print(last_element)  # 输出:1
print(my_list)  # 输出: [1, 2, 3, 4]

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

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

相关文章

各类Agent技术的发展现状和核心痛点

AI Agent主要分类 Agent(智能体)技术是指具有自主感知、决策与执行能力的软件系统,能够在环境中完成特定任务。目前常见的Agent类型主要包括: - 基于大模型的智能体:以GPT-4等大型语言模型为核心,如AutoGP…

单片机-STM32部分:18、WiFi模组

飞书文档https://x509p6c8to.feishu.cn/wiki/WFmqwImDViDUezkF7ercZuNDnve 一、WiFi模组应用 当设备需要连接网络,实现远程控制,状态监控时,就需要添加通信模组,常见的通信模组WiFi模组、2G模组、4G模组等: 我们的板卡…

探索Qwen2ForCausalLM 架构上进行微调

简述 试验参考了mini_qwen 的开源实现 GitHub - qiufengqijun/mini_qwen: 这是一个从头训练大语言模型的项目,包括预训练、微调和直接偏好优化,模型拥有1B参数,支持中英文。这是一个从头训练大语言模型的项目,包括预训练、微调和…

hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明

摘要 hysAnalyser 是一款特色的 MPEG-TS 数据分析工具,融合了常规TS文件的剪辑,转存功能,可用于平常的视频开发和测试。 本文详细阐述了对MPEG-TS 流的节目ID,名称,PID,时间戳,流类型&#xff…

前端[插件化]设计思想_Vue、React、Webpack、Vite、Element Plus、Ant Design

前端插件化设计思想旨在提升应用的可扩展性、可维护性和模块化程度。这种思想不仅体现在框架(如 Vue、React)中,也广泛应用于构建工具(如 Webpack、Vite)以及 UI 库(如 Element Plus、Ant Design&#xff0…

2025年高防IP与游戏盾深度对比:如何选择最佳防护方案?

2025年,随着DDoS攻击规模的指数级增长和混合攻击的常态化,高防IP与游戏盾成为企业网络安全的核心选择。然而,两者在功能定位、技术实现及适用场景上存在显著差异。本文结合最新行业实践与技术趋势,全面解析两者的优劣,…

日志根因分析:Elastic Observability 的异常检测与日志分类功能

作者:来自 Elastic Bahubali Shetti Elastic Observability 不仅提供日志聚合、指标分析、APM 和分布式追踪,Elastic 的机器学习能力还能帮助分析问题的根因,让你将时间专注于最重要的任务。 随着越来越多的应用程序迁移到云端,收…

Linux火墙管理及优化

网络环境配置 使用3个新的虚拟机【配置好软件仓库和网络的】 F1 192.168.150.133 NAT F2 192.168.150.134 192.168.10.20 NAT HOST-ONLY 网络适配仅主机 F3 192.168.10.30 HOST-ONLY 网络适配仅主机 1 ~]# hostnamectl hostname double1.timinglee.org 【更…

java配置webSocket、前端使用uniapp连接

一、这个管理系统是基于若依框架&#xff0c;配置webSocKet的maven依赖 <!--websocket--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency> 二、配…

基于Yolov8+PyQT的老人摔倒识别系统源码

概述 ​​基于Yolov8PyQT的老人摔倒识别系统​​&#xff0c;该系统通过深度学习算法实时检测人体姿态&#xff0c;精准识别站立、摔倒中等3种状态&#xff0c;为家庭或养老机构提供及时预警功能。 主要内容 ​​完整可运行代码​​ 项目采用Yolov8目标检测框架结合PyQT5开发…

Oracle 创建外部表

找别人要一下数据&#xff0c;但是他发来一个 xxx.csv 文件&#xff0c;怎么办&#xff1f; 1、使用视图化工具导入 使用导入工具导入&#xff0c;如 DBeaver&#xff0c;右击要导入的表&#xff0c;选择导入数据。 选择对应的 csv 文件&#xff0c;下一步就行了&#xff08;如…

【华为OD- B卷 01 - 传递悄悄话 100分(python、java、c、c++、js)】

【华为OD- B卷 01 - 传递悄悄话 100分(python、java、c、c++、js)】 题目 给定一个二叉树,每个节点上站一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。 初始时,根节点所在位置的人有一个悄悄话想要传递给其他人,求二叉树所有节点上的人都接收到悄悄话花…

房贷利率计算前端小程序

利率计算前端小程序 视图效果展示如下&#xff1a; 在这里插入代码片 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&qu…

自制操作系统day8 (鼠标数据取得、通往32位模式之路、A20GATE、切换到保护模式、控制寄存器cr0-cr4以及cr8、ALIGNB)

day8 鼠标数据取得方法 fifo8_init(&mousefifo, 128, mousebuf); for (;;) { io_cli(); if (fifo8_status(&keyfifo) fifo8_status(&mousefifo) 0) { io_stihlt(); } else { if (fifo8_status(&keyfifo) ! 0) { i fifo8_get(&keyfifo); io_sti(); spr…

IP大科普:住宅IP、机房IP、原生IP、双ISP

不同类型的IP在跨境电商、广告营销、网络技术、数据收集等领域都有广泛应用&#xff0c;比如常见的住宅IP、机房IP、原生IP、双ISP等&#xff0c;这些IP分别都有什么特点&#xff0c;发挥什么作用&#xff0c;适合哪些业务场景&#xff1f; 一、IP类型及其作用 1.住宅IP 住宅…

Elasticsearch面试题带答案

Elasticsearch面试题带答案 Elasticsearch面试题及答案【最新版】Elasticsearch高级面试题大全(2025版),发现网上很多Elasticsearch面试题及答案整理都没有答案,所以花了很长时间搜集,本套Elasticsearch面试题大全,Elasticsearch面试题大汇总,有大量经典的Elasticsearch面…

Eigen与OpenCV矩阵操作全面对比:最大值、最小值、平均值

功能对比总表 功能Eigen 方法OpenCV 方法主要区别最大值mat.maxCoeff(&row, &col)cv::minMaxLoc(mat, NULL, &maxVal, NULL, &maxLoc)Eigen需要分开调用&#xff0c;OpenCV一次获取最小值mat.minCoeff(&row, &col)cv::minMaxLoc(mat, &minVal, NU…

echarts之双折线渐变图

vue3echarts实现双折线渐变图 echarts中文官网&#xff1a;https://echarts.apache.org/examples/zh/index.html 效果图展示&#xff1a; 整体代码如下&#xff1a; <template><div id"lineChart" style"width:100%;height:400px;"></di…

MD编辑器推荐【Obsidian】含下载安装和实用教程

为什么推荐 Obsidian &#xff1f; 免费 &#xff08;Typora 开始收费了&#xff09;Typora 实现的功能&#xff0c;它都有&#xff01;代码块可一键复制 文件目录支持文件夹 大纲支持折叠、搜索 特色功能 – 白板 特色功能 – 关系图谱 下载 https://pan.baidu.com/s/1I1fSly…

vue 鼠标经过时显示/隐藏其他元素

方式一&#xff1a; 使用纯css方式 , :hover是可以控制其他元素 1、 当两个元素是父子关系 <div class"all_" ><div> <i class"iconfont icon-sun sun"></i></div> </div> .all_{} .sun {display: none; /* 默认…