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)。
set集合(去重)
最新推荐文章于 2023-06-26 09:51:17 发布