浅谈Python 集合(set)类型的操作——并交差
阅读目录
•介绍
•基本操作
•函数操作
介绍
python的set是一个无序不重复元素集,基本功能包括关系测试和消除重复元素.集合对象还支持并、交、差、对称差等。
sets支持xinset、len(set)、和forxinset。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持indexing,slicing,或其它类序列(sequence-like)的操作。
基本操作
>>>x=set("jihite")
>>>y=set(['d','i','m','i','t','e'])
>>>x#把字符串转化为set,去重了
set(['i','h','j','e','t'])
>>>y
set(['i','e','m','d','t'])
>>>x&y#交
set(['i','e','t'])
>>>x|y#并
set(['e','d','i','h','j','m','t'])
>>>x-y#差
set(['h','j'])
>>>y-x
set(['m','d'])
>>>x^y#对称差:x和y的交集减去并集
set(['d','h','j','m'])
函数操作
>>>x
set(['i','h','j','e','t'])
>>>s=set("hi")
>>>s
set(['i','h'])
>>>len(x)#长度
>>>'i'inx
True
>>>s.issubset(x)#s是否为x的子集
True
>>>y
set(['i','e','m','d','t'])
>>>x.union(y)#交
set(['e','d','i','h','j','m','t'])
>>>x.intersection(y)#并
set(['i','e','t'])
>>>x.difference(y)#差
set(['h','j'])
>>>x.symmetric_difference(y)#对称差
set(['d','h','j','m'])
>>>s.update(x)#更新s,加上x中的元素
>>>s
set(['e','t','i','h','j'])
>>>s.add(1)#增加元素
>>>s
set([1,'e','t','i','h','j'])
>>>s.remove(1)#删除已有元素,如果没有会返回异常
>>>s
set(['e','t','i','h','j'])
>>>s.remove(2)
Traceback(mostrecentcalllast):
File"<pyshell#29>",line1,in<module>
s.remove(2)
KeyError:2
>>>s.discard(2)#如果存在元素,就删除;没有不报异常
>>>s
set(['e','t','i','h','j'])
>>>s.clear()#清除set
>>>s
set([])
>>>x
set(['i','h','j','e','t'])
>>>x.pop()#随机删除一元素
'i'
>>>x
set(['h','j','e','t'])
>>>x.pop()
'h'
以上这篇浅谈Python集合(set)类型的操作——并交差就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。