【Python入门】Python中的集合set

1. set介绍

集合set:是一种无序的、不可重复、可修改的数据容器。

语法:

python 复制代码
# 定义集合
s1 = {"A", "B", "D", "X"}

# 定义空集合
s2 = set()

注意:

  • 空集合的定义不可以使用花括号{},{}表示的是空字典;
  • 由于集合是无序的,因此不支持通过下标索引访问

2. 常见方法

集合set中常见的方法:

操作 含义 样例
add() 添加元素到集合中 s1.add(13)
remove() 移除集合中的指定元素 s1.remove(13)
pop() 随机删除集合中的元素并返回 e = s1.pop()
clear() 清空集合 s1.clear()
difference() 求取两个集合的差集(包含在第一个集合但不包含在第二个集合的元素) s1.difference(s2)
union() 求取两个集合的并集 s1.union(s2)
intersection 求取两个集合的交集 s1.intersection(s2)

代码示例及运行结果:

python 复制代码
# 定义集合set
s1 = {54, 25, 75, 44, 33, 98}
# 定义集合
s2 = {54, 25, 90, 86, 98}
# 添加元素
s1.add(13)
print("s1添加元素后:", s1)
# 移除元素
s1.remove(13)
print("s1移除元素后:", s1)
# 随机删除元素,并返回被删除的元素
e = s1.pop()
print("被随机删除的元素:", e)
print("s1随机删除元素后:", s1)
# 求取两个集合的差集
s3 = s1.difference(s2)
print("差集s3:", s3)
# 求取两个集合的并集
s4 = s1.union(s2)
print("并集s4:", s4)
# 求取两个集合的交集
s5 = s1.intersection(s2)
print("交集s5:", s5)
# 清空集合
s5.clear()
print("清空s5:", s5)

3. 集合推导式

在集合set中,求差集、并集、交集,可以直接调用常见的方法,也可以使用操作符(-、|、&)来代替,实现的效果都是一样的。

python 复制代码
#求差集
s1.difference(s2) 等价于 s1-s2
#求并集
s1.union(s2) 等价于 s1 | s2
#求交集
s1.intersection(s2) 等价于 s1 & s2

集合推导式语法:

  • 变量名称 = {要往集合中添加的元素i for i in 列表}
  • 变量名称 = {要往集合中添加的元素i for i in 列表 if 条件}
相关推荐
码流子5 分钟前
02-易迁信创兼容引擎
大数据·数据库·python
kimnoic10 分钟前
Python常见模块及其用法示例详解
开发语言·python
databook13 分钟前
Scikit-Learn实战:5步搞定PCA降维
python·机器学习·scikit-learn
溪语流沙33 分钟前
【Web全栈进阶】JWT无状态认证:签发、校验、刷新
前端·git·python·github
reasonsummer36 分钟前
【办公类-112-08】20261009园园通信息合并配学号拆班(数据更新,用年月日期区分版本)
python
阿狗童鞋40 分钟前
Python爬虫进阶实战指南
开发语言·爬虫·python
中原第一高手1 小时前
fofatoto 1.8.0 发布:启动即知新版本、中文进度面板与更干净的 Web 日志
python·网络安全·开源·资产测绘·fofa
APIshop1 小时前
淘宝详情接口全解析:从官方开放平台到第三方数据服务
java·python·api
老歌老听老掉牙1 小时前
两个平面旋转平移坐标系间的坐标变换关系
python·算法·平面·旋转·平移
FITA阿泽要努力1 小时前
第 1 周·第 3 讲|工具如何交给模型:工具定义、参数与结构化调用
服务器·数据库·python·agent