set集合(去重)

本文详细介绍了Python中Set的使用方法,包括如何通过add()和update()方法添加元素的区别,集合运算如并集、交集、差集的操作方式,以及如何利用Set去除列表中的重复项。此外还介绍了超类检测及frozenset的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

set的添加数据方法有二,
区别: add() 方法会将整个数据作为一项加入,而 update() 会将整个数据切分成单个字符逐一添加进 set() 集合

1、调用 update() 方法

>>> b=set()
>>> b.update('python')
>>> b
set(['h', 'o', 'n', 'p', 't', 'y'])

2、调用 add() 方法
>>> b=set()
>>> b.add('python')
>>> b
set(['python'])
------------------------------------------------------------------------------------------

存在测试: in   &  not in
------------------------------------------------------------------------------------------

集合运算:
>>> a = set('abcde')
>>> b = set('cdefg')
>>> a
set(['a', 'c', 'b', 'e', 'd'])
>>> b
set(['c', 'e', 'd', 'g', 'f'])
>>> a & b                  #对应 a.intersection(b)
set(['c', 'e', 'd'])
>>> a | b                   #对应 a.union(b)
set(['a', 'c', 'b', 'e', 'd', 'g', 'f'])
>>> a - b		    #对应 a.difference(b)
set(['a', 'b'])
------------------------------------------------------------------------------------------

列表去重复:先转换成set() ,再用list()转换为列表

>>> lst = [1,2,3,2,1]
>>> lst
[1, 2, 3, 2, 1]
>>> lst = set(lst)
>>> lst
set([1, 2, 3])
>>> lst = list(lst)
>>> lst
[1, 2, 3]
------------------------------------------------------------------------------------------
 
超类检测:
>>> c =a|b
>>> c.issubset(a)
False
>>> c.issuperset(a)
True
------------------------------------------------------------------------------------------

frozenset() 生成一个不可变的集合,不可改变其中数据。可用于生成集合:
set( frozenset( lst ) )

------------------------------------------------------------------------------------------
活用 set 示例
判断 search 中的字符是否都出现在 a 中:

a = "aAsmr3idd4bgs7Dlsf9eAF"
search = 'baA3idbg7D'
u = set( a )
u.update( list( search ) )
print len( set( a ) == len( u ) )

由于set 中的元素不能重复,所以如果update过后长度没有改变,则说明该字符已经存在于 a ,否则不存在(输出 False)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值