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()                # 清空集合
相关推荐
默_笙5 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_426003965 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技5 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读5 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时5 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
C语言小火车5 天前
C/C++ 为什么需要编译器?
开发语言·c++
奇思妙想聪明勤奋的小羊5 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1235 天前
2026年第38周GitHub趋势周报
python·科技·github