Python set()集合的内置方法及 差集,并集,交集的实现,集合运算

set集合是一个元素不重复的无序的集合。其中一个用途就是被用来去重。

set() 定义

# 定义新的空集合的方法, 只有一种, 不能写: {}, {}是空字典的定义创建方法
set_a = set()
# 非空集合创建
set_b = {value0, value1, value2, ...}
set_c = set(value0, value1, value2, ...)

内置基本操作

# 添加
set_a.add(x)
# 集合的原酸必须是可以哈希(hash)的, 如数字,字符串,元组等, 列表,字典不能作为集合的元素

# 删除
set_a.remove(x)  # 存在删除,不存在会报错
set_a.discard(x)  #  存在删除,不存在不会报错

# 是否存在
x in set_a  # x是否在set_a中

# 数量
len(set_a)  # 集合中元素的数量

集合运算

不支持+ * / 等运算符操作

交集 & 并集 & 差集 & 对称差集
set_a, set_b = {1, 2, 3}, {3, 4}
# 交集
set_a & set_b
set_a.intersection(set_b)
set.intersection(set_a, set_b)

# 并集
set_a | set_b
set_a.union(set_b)
set.union(set_a, set_b)

# 差集
set_a - set_b
set_a.difference(set_b)
set.difference(set_a, set_b)
# 注意差集的次序  此行以上和以下的差集的结果不同
set_b - set_a
set_b.difference(set_a)
set.difference(set_b, set_a)

# 对称差集
# 不同时存在于两个集合的数据 并集 - 交集
set_a ^ set_b
set_a.symmetric_difference(set_b)
set.symmetric_difference(set_a, set_b)

(set_a | set_b) - (set_a & set_b)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值