Python中常见的集合内建函数

一、集合类型方法

方法名称

操作

s.issubset(t)如果s是t的子集,则返回True,否则返回False
s.issuperset(t)如果s是t的超集,则返回True,否则返回False
s.union(t)返回一个新集合,该集合是s和t的并集
s.intersection(t)返回一个新集合,该集合是s和t的交集
s.difference(t)返回一个新集合,该集合是s的成员,但不是t的成员
s.symmetric_difference(t)返回一个新集合,该集合是s或t的成员,但不是s和t共有的成员
s.copy()返回一个新集合,它是集合s的浅复制

 

>>> s = set('cheeseshop')
>>> t = set('bookshop')
>>> s
set(['c', 'e', 'h', 'o', 'p', 's'])
>>> t
set(['b', 'h', 'k', 'o', 'p', 's'])
>>> s.issubset(t)
False
>>> s.issuperset(t)
False
>>> s.union(t)
set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])
>>> s.intersection(t)
set(['h', 's', 'o', 'p'])
>>> s.difference(t)
set(['c', 'e'])
>>> s.symmetric_difference(t)
set(['b', 'e', 'k', 'c'])
>>> s.copy()
set(['p', 'c', 'e', 'h', 's', 'o'])


 

        二、可变集合类型的方法

        1、s.update(t)——用t中的元素修改s,即s现在包含s或t的成员。

>>> s.update(t)
>>> s
set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])

 

        2、s.intersection_update(t)——s中的成员是共同属于s和t中的元素。

>>> s = set('cheeseshop')
>>> t = set('bookshop')
>>> s.intersection_update(t)
>>> s
set(['h', 's', 'o', 'p'])


        3、s.difference_update(t)——s中的成员是属于s但不包含在t中的元素。

>>> s = set('cheeseshop')
>>> t = set('bookshop')
>>> s.difference_update(t)
>>> s
set(['c', 'e'])


        4、s.symmetric_difference_update(t)——s中的成员更新为那些包含在s或t中,但不是s和t共有的元素

>>> s = set('cheeseshop')
>>> t = set('bookshop')
>>> s.symmetric_difference_update(t)
>>> s
set(['c', 'b', 'e', 'k'])


        5、s.add(obj)——在集合s中添加对象obj

>>> s.add('o')
>>> s
set(['c', 'b', 'e', 'k', 'o'])


        6、s.remove(obj)——从集合s中删除对象obj,如果obj不是集合s中的元素(obj not in s),将引发KeyError

<p>>>> s.remove('b')
>>> s
set(['c', 'e', 'k', 'o'])
>>> s.remove('a')</p><p>Traceback (most recent call last):
  File "<pyshell#53>", line 1, in <module>
    s.remove('a')
KeyError: 'a'
</p>


        7、s.discard(obj)——如果obj是集合s中的元素,从集合s中删除对象obj

>>> s.discard('a')
>>> s
set(['c', 'e', 'k', 'o'])
>>> s.discard('e')
>>> s
set(['c', 'k', 'o'])


        8、s.pop()——删除集合是中的任意一个对象,并返回它

>>> s.pop()
'c'
>>> s
set(['k', 'o'])


        9、s.clear()——删除集合s中的所有元素

>>> s.clear()
>>> s
set([])


 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值