微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

浅谈Python 集合(set)类型的操作――并交差

阅读目录

•介绍
•基本操作
函数操作

介绍

python的set是一个无序不重复元素集,基本功能包括关系测试和消除重复元素. 集合对象还支持并、交、差、对称差等。

sets 支持 x in set、 len(set)、和 for x in set。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing,slicing,或其它类序列(sequence-like)的操作。

基本操作

>>> x = set("jihite")
>>> y = set(['d','i','m','t','e'])
>>> x    #把字符串转化为set,去重了
set(['i','h','j','e','t'])
>>> y
set(['i','d','t'])
>>> x & y  #交
set(['i','t'])
>>> x | y  #并
set(['e','t'])
>>> x - y  #差
set(['h','j'])
>>> y - x
set(['m','d'])
>>> x ^ y  #对称差:x和y的交集减去并集
set(['d','m'])

函数操作

 

>>> x
set(['i','t'])
>>> s = set("hi")
>>> s
set(['i','h'])
>>> len(x)          #长度

>>> 'i' in x
True
>>> s.issubset(x)       #s是否为x的子集
True
>>> y
set(['i','t'])
>>> x.union(y)        #交
set(['e','t'])
>>> x.intersection(y)     #并
set(['i','t'])
>>> x.difference(y)      #差
set(['h','j'])
>>> x.symmetric_difference(y) #对称差
set(['d','m'])
>>> s.update(x)        #更新s,加上x中的元素
>>> s
set(['e','j'])
>>> s.add(1)         #增加元素
>>> s
set([1,'j'])
>>> s.remove(1)        #删除已有元素,如果没有会返回异常
>>> s
set(['e','j'])
>>> s.remove(2)

Traceback (most recent call last):
 File "<pyshell#29>",line 1,in <module>
  s.remove(2)
KeyError: 2
>>> s.discard(2)        #如果存在元素,就删除;没有不报异常
>>> s
set(['e','j'])
>>> s.clear()         #清除set
>>> s
set([])
>>> x
set(['i','t'])
>>> x.pop()          #随机删除一元素
'i'
>>> x
set(['h','t'])
>>> x.pop()
'h'

以上这篇浅谈Python 集合(set)类型的操作――并交差就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐