python 使用set快速去重

set特点

  1. 确定性:元素要么在集合内,要么不在集合内,一定是确定的。
  2. 互异性:在同一个集合中,元素是唯一的,表现为互异性。
  3. 无序性:每个元素的地位都是相同的,元素之间是无序的。

python 使用set快速去重

num_list = [1, 1, 2, 3, 3, 3]
num_set = set(num_list)		# 集合互异性去重
num_list = list(num_set)	# 集合转换回列表
print(num_set)      		# {1, 2, 3}
print(num_list)     		# [1, 2, 3]

以下演示了两个集合的操作

>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a            # a 中唯一的字母
{'a', 'r', 'b', 'c', 'd'}
>>> a - b        # 在 a 中的字母,但不在 b 中
{'r', 'd', 'b'}
>>> a | b        # 在 a 或 b 中的字母
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b        # 在 a 和 b 中都有的字母
{'a', 'c'}
>>> a ^ b        # 在 a 或 b 中的字母,但不同时在 a 和 b 中
{'r', 'd', 'b', 'm', 'z', 'l'}

set的使用方法

方法说明
num2_set.isdisjoint(num1_set)判断两个集合有交集,若没有则返回True,若有则返回False
num2_set.issubset(num1_set)判断指定集合是否为该方法参数集合的子集
num2_set.issuperset判断该方法的参数集合是否为指定集合的子集
num1_set.intersection(num2_set)返回两个集合的交集(新集合)
num1_set.intersection_update(num2_set)返回一个集合的交集,不同于intersection()方法(返回一个新集合),而是直接在第一个集合中移除不同的元素
num1_set.symmetric_difference(num2_set)返回两个集合中不重复的元素集合
num1_set.symmetric_difference_update(num2_set)移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
num1_set.union(num2_set)返回两个或多个集合的并集(新集合)
num1_set.difference(num2_set)返回两个或多个集合之间的差集(新集合)
num1_set.difference_update(num2_set)返回一个集合的差集,不同于difference()方法(返回一个新集合),而是直接在第一个集合中移除相同的元素
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值