当前位置: 首页 > backend >正文

python中集合的操作

Python中的集合(Set)是一种无序、可变且元素唯一的数据结构,主要用于去重和数学运算。以下是核心操作分类:

‌1. 集合创建‌

  • 大括号创建:s = {1, 2, 3}(空集合必须用set())
  • 构造函数:set([1,2,2,3]) → {1,2,3}(自动去重)
  • 字符串转换:set(“hello”) → {‘h’,‘e’,‘l’,‘o’}

‌2. 元素操作‌

  • 添加:add(x)添加单个元素,update(iterable)添加多个
  • 删除:remove(x)(元素不存在报错),discard(x)(安全删除),pop()随机删除
  • 清空:clear()删除所有元素

3. 集合运算‌

  • 并集:a | b 或 union()
  • 交集:a & b 或 intersection()
  • 差集:a - b 或 difference()
  • 对称差集:a ^ b 或 symmetric_difference()

4. 成员检测‌

  • 快速查找:x in s(时间复杂度O(1))
  • 子集检查:<=(子集)或<(真子集)
  • 超集检查:>=(超集)或>(真超集)

‌5. 其他方法‌

  • 长度:len(s)获取元素数量
  • 拷贝:copy()生成浅拷贝
  • 集合推导式:{x**2 for x in range(5)}

示例代码:

# 集合运算示例
A = {1, 2, 3}
B = {3, 4, 5}
print(A & B)  # 输出交集 {3}
print(A - B)  # 输出差集 {1, 2}

集合特别适合处理需要快速查找或去重的场景,如数据清洗和关系运算。注意集合元素必须是不可变类型(如数字、字符串、元组)。

http://www.xdnf.cn/news/6577.html

相关文章:

  • MySQL 与 FastAPI 交互教程
  • 在 Ubuntu 系统中,将 JAR 包安装为服务
  • LongRefiner:解决长文档检索增强生成的新思路
  • Redis + ABP vNext 构建分布式高可用缓存架构
  • IntelliJ IDEA克隆项目失败的解决方法
  • Tomcat发布websocket
  • 笔试强训:Day5
  • FPGA: UltraScale+ bitslip实现(方案+代码)
  • 【递归、搜索和回溯】穷举vs暴搜vs深搜vs回溯vs剪枝
  • 【向量模型 + HNSW 参数如何选择】
  • 用栈实现+-*/计算器
  • GPU八卡A100使用INT4-W4A16量化大模型实验
  • Manus AI 原理深度解析第三篇:Tools
  • 什么是DHCP?
  • JavaScript零基础入门笔记:狂神版
  • C# Try Catch Finally 执行顺序是什么?有返回值呢?
  • Openlayers:如何注册一个新的坐标系统
  • web第二次课后作业--设计一个注册登录系统
  • MyBatis:从入门到深度理解
  • 从入门到实战:时序图核心知识与高效绘制全解析(附模板)
  • 如何利用芯片模型提升终端PCB的SIPI热仿真精度
  • 如何让open-mpi在不同版本的OS上运行
  • shell常用语法
  • 晶振的核心参数
  • 会计要素+借贷分录+会计科目+账户,几个银行会计的重要概念
  • 从 Vue3 回望 Vue2:组件设计升级——Options API vs Composition API
  • OpenResty Manager 介绍与部署(Docker部署)
  • C++算法(22):二维数组参数传递,从内存模型到高效实践
  • ERP知识手册【第三弹:INV(库存管理)】
  • Windows软件插件-写mp3