集合内建函数和内建方法
(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)方法(仅适用于可变集合)
可变集合类型的方法:
演示实例:
一、集合类型方法
> 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([])
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]