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

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.xdnf.cn/news/613945.html

相关文章:

  • 无法选择最佳操作符(APP) 目录
  • 8级-数组
  • Axure元件动作五:设置列表选中项
  • Java SpringBoot 扣子CozeAI SseEmitter流式对话完整实战 打字机效果
  • 211. 添加与搜索单词 - 数据结构设计
  • 【Qt开发】按钮类控件
  • 5.24 note
  • FFmpeg 安装包全攻略:gpl、lgpl、shared、master 区别详解
  • spring注解旁路问题讨论
  • 使用Python在PowerPoint中插入形状(Shape)
  • 技术文档的进阶之旅
  • 文章记单词 | 第107篇(六级)
  • 3par persona设置错误,linux I/O持续报错
  • mPLUG-Owl3图片描述
  • SQL实战之索引优化(单表、双表、三表、索引失效)
  • FFplay 播放原始数据
  • C++性能测试工具——sysprof的使用
  • 【AUTOSAR网络管理】T_NM_Timeout参数测试指南
  • 【学习笔记】机器学习(Machine Learning) | 第七章|神经网络(4)
  • 强化学习鱼书(8)——DQN
  • Qt window frame + windowTitle + windowIcon属性(3)
  • Android11以上通过adb复制文件到内置存储让文件管理器可见
  • 实验13 数据库权限管理
  • 告别繁琐操作,一键批量发布!
  • Linux下MySQL的安装与使用
  • 开局插第一个眼侦查对方打野的动态
  • 人脸识别技术合规备案最新政策详解
  • 利用条件编译实现RTT可控的调试输出
  • 20250523-BUG-E1696:无法打开元数据文件“platform.winmd(已解决)
  • 写起来比较复杂的深搜题目