集合内建函数和内建方法

(1)标准类型函数

len():把集合作为参数传递给内建函数 len(),返回集合的基数(或元素的个数)。

(2)集合类型工厂函数

set()和 frozenset()工厂函数分别用来生成可变和不可变的集合。如果不提供任何参数,默认会生成空集合。如果提供一个参数,则该参数必须是可迭代的,即一个序列或迭代器或支持迭代的一个对象,例如一个文件或一个字典。

(3)方法(所有的集合方法)

s.issubset(t) 如果s是t的子集,则返回True,否则返回False

s.issuperset(t) 如果t是s的超集,则返回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的浅复制

内建方法copy() 没有等价的操作符。和同名的字典方法一样,copy()方法比用像set()、frozenset()或dict()这样的工厂方法复制对象的副本要快。

(4)方法(仅适用于可变集合)

可变集合类型的方法:

python内建函数的迭代 python 内建_python内建函数的迭代

演示实例:

一、集合类型方法

python内建函数的迭代 python 内建_python内建函数的迭代_02


>>> 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。


>>> s.remove('b')
>>> s
set(['c','e','k','o'])
>>> s.remove('a')
Traceback (most recent call last):
File "", line1,in 
s.remove('a')
KeyError:'a'

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([])