Python集合简介

Python 集合(set)是一种无序、可变、元素唯一的数据结构,类似于数学中的集合。它使用大括号 {} 或 set() 函数创建,常用于去重、成员关系测试和集合运算。

主要特性

  • 元素唯一 :自动去除重复值。
  • 无序 :元素没有索引,不支持切片或下标访问。
  • 可变 :可添加或删除元素,但元素本身必须是不可变类型(如整数、字符串、元组),因为集合要求元素可哈希(hashable)。
  • 高效 :成员判断(in)和集合运算的速度非常快。

创建集合

python

复制代码
# 使用大括号
复制代码
s1 = {1, 2, 3}
复制代码
复制代码
# 使用 set() 构造函数,参数为可迭代对象
复制代码
s2 = set([1, 2, 2, 3])   # {1, 2, 3}
复制代码
s3 = set("hello")        # {'h', 'e', 'l', 'o'}
复制代码
复制代码
# 空集合只能用 set(),{} 是空字典
复制代码
empty_set = set()

添加和删除元素

python

复制代码
s = {1, 2, 3}
复制代码
s.add(4)                 # {1, 2, 3, 4}
复制代码
s.update([5, 6])         # 添加多个元素,{1,2,3,4,5,6}
复制代码
s.remove(2)              # 删除元素,若不存在则报错 KeyError
复制代码
s.discard(10)            # 删除元素,若不存在不会报错
复制代码
pop_element = s.pop()    # 随机删除并返回一个元素
复制代码
s.clear()                # 清空集合
相关推荐
张张123y4 小时前
后端第一课:输入 URL 后发生了什么?我用手写 Socket 把全链路跑通了
python·websocket·ai·socket·url·后端开发
白帽攻防录6 小时前
SRC 挖洞:PostScript 打印机驱动双 RCE,打印服务器怎么变成内网跳板
开发语言·网络安全·php·内网安全
十年Java程序媛6 小时前
Java枚举Enum完整教程|替代静态常量,开发与面试要点
java·开发语言·spring boot·后端·面试
全栈弄潮儿6 小时前
Python实战第7期:字典与集合
后端·python·编程语言
2603_965148116 小时前
电商选品调研:通过关键词搜索API获取市场热销商品,结合商品详情API分析竞品卖点与定价
开发语言·数据库·人工智能·python·信息可视化
xixiaoyunya7 小时前
Python 异步编程入门:用 asyncio 轻松实现并发任务
开发语言·python·php
把我格子衫拿来7 小时前
Dice 很高就够了吗?分割评价中的 IoU、表面距离与 HD95
python·图像分割·模型评估·医学影像·dice
学逆向的7 小时前
C 循环结构的执行效率分析
c语言·开发语言·数据结构·网络安全
曲径海盗7 小时前
【Python 学习第 31 天】复习:变量与数据类型 等 3 题
python·学习笔记·编程入门
Data_Journal8 小时前
如何绕过 Cloudflare:网页抓取的最佳方法
网络·python