set感觉用的不太多,但遇到了就比较炸毛了。
set集合,是一个无序且不重复的元素集合。可以用于去重。
集合中的元素必须是可散列的。
一、创建集合
>>>set('boy')
set(['y', 'b', 'o'])
>>> a = set()
>>> a
set()
二、添加、删除集合
python 集合的添加有两种常用方法,
分别是add和update。
集合
add方法:是把要传入的元素做为一个整个添加到集合中
>>> a = set()
>>> a.add('python')
>>> a
{'python'}
集合
update方法:是把要传入的元素拆分,做为个体传入到集合中,从而更新集合中的内容
>>> a = set('boy')
>>> a.update('python')
>>> a
{'o', 'h', 't', 'y', 'b', 'p', 'n'}
>>>
集合删除操作方法:
remove
>>> a.remove('b')
>>> a
{'o', 'h', 't', 'y', 'p', 'n'}
三、集合运算(中缀运算符)
数学符合
|
python符号
|
含义
|
— 或 \
|
—
|
差集,相对补集
|
∩
|
&
|
交集
|
∪
|
|
|
合集、并集
|
≠
|
!=
|
不等于
|
=
|
==
|
等于
|
∈
|
in
|
是成员关系
|
∉
|
not in
|
非成员关系
|
如:s & z,s &=z(更新s为交集),s | z, s |=z(更新s为并集), s -= z(更新s为差集)
四、内置函数
set.add(‘test’)
|
向集合中添加元素
|
'test'作为整体添加
|
set.clear()
|
清空集合
| |
set.copy()
|
复制集合
| |
set.discard(e)
|
如果有e元素,把它移除
| |
set.__iter__()
|
返回集合迭代器
| |
set.__len__()
|
集合长度
| |
set.pop()
|
从 set 中移除一个元素并返回它的值,若 s 为空,则抛
出 KeyError 异常
| |
set.remove(e)
|
从 set中移除 e 元素,若 e 元素不存在,则抛出
KeyError 异常
| |
set(object)
|
转换为集合
|
五、集合推导
>>> from unicodedata import name
>>> {chr(i) for i in range(32, 256) if 'SIGN' in name(chr(i), '')}
{'¶', '°', '®', '¥', '¢', '=', '+', '£', '#', '÷', '%', '©', '$', '±', '¤', 'µ', '¬', '<', '>', '§', '×'}