python中的集合set操作

集合是无序、不重复的数据组合。
python中用set数据类型表示可变集合,常用于去除序列元素中重复单元,以及进行相应的集合操作。

>>> A = {1, 2, 3}
>>> A.add(4)	# 集合添加元素, 必须为可hash对象
>>> A
{1, 2, 3, 4}
>>> A.update('a')	# 添加元素,必须为可iterable对象
>>> A
>>> {1, 2, 3, 4, 'a'}
>>> A.remove('a')	# 删除指定集合元素,若不存在会报错
>>> A
{1, 2, 3, 4}
>>> A.discard('a')  # 删除指定集合元素,若不存在不会报错,没有返回值	
>>> A.pop()		# 随机删除,有返回值
5	# 返回随机删除的值
>>> B = {3, 4, 5, 6}
>>> A & B	 # 交集
{3, 4}
>>> A.intersection(B)	# 交集,同&,B.intersection(A)亦然
{3, 4}
>>> A - B	# 差集,A中有而B中没有的元素。 B - A为B中有而A中没有的元素
{1, 2}	
>>> A.difference(B)
{1, 2}	# 差集
>>> A | B
{1, 2, 3, 4, 5, 6}		# 并集,A、B中不同元素的集合
>>> A.union(B)		# 并集, 同 
{1, 2, 3, 4, 5, 6}
>>> A ^ B	# 异或集,不同时属于A、B的元素组成的集合。B^A亦然
{1, 2, 5, 6}
>>> A.symmetric_difference(B)	# 补集,同^
{1, 2, 5, 6}
>>> 3 in A  # 元素是否在集合中
True 	
>>> {3, 4} < A		# 子集判断
True
>>> {3, 4}.issubset(A)	# 子集判断,同<
True
>>> A > {3, 4}		# 超集判断
True
>>> A.issuperset({3,4})	# 超集判断,同>
True

veen-map

此外在python还提供了frozenset数据类型,其为不变集合(被冻结的集合)。其没有add、update、remove等改变原集合元素的操作;但支持进行集合布尔操作,生成新的集合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值