update方法
-A.update(集合)
>>> s1
{1, 2, 3}
>>> s2
{4, 5, 6}
>>> A.update(s2)
>>> A
{1, 2, 3, 4, 5, 6}
add 方法,集合中添加一个新的 元素,如果元素已经存在,则不添加
-A.add(对象)
>>> A
{1, 2, 3, 4, 5, 6, 12}
>>> A.add(128)
>>> A.add("zhu")
>>> A.add(tuple(s2))
>>> A
{128, 1, 2, 3, 4, 5, 6, 'zhu', (4, 5, 6), 12}
remove方法,集合中添加一个新的元素,如果元素已经存在,则不添加。
A.remove(对象)
>>> A
{128, 1, 2, 3, 4, 5, 6, 'zhu', (4, 5, 6), 12}
>>> A.remove("zhu")
>>> A
{128, 1, 2, 3, 4, 5, 6, (4, 5, 6), 12}
>>> b=A.remove(12)
>>> A
{128, 1, 2, 3, 4, 5, 6, (4, 5, 6)}
>>> b
>>> type(b)
<class 'NoneType'>
pop方法,从集合中删除一个元素,并返回该元素。
>>> A
{128, 1, 2, 3, 4, 5, 6, (4, 5, 6)}
>>> b=A.pop()
>>> b
128
>>> A
{1, 2, 3, 4, 5, 6, (4, 5, 6)}
>>> b=A.pop()
>>> b
1
>>> A
{2, 3, 4, 5, 6, (4, 5, 6)}
clear方法,清空集合元素
A.clear()
>>> A
{2, 3, 4, 5, 6, (4, 5, 6)}
>>> A.clear()
>>> A
set()
>>> B
frozenset({1, 2, 3, 4})
>>> B.clear()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'frozenset' object has no attribute 'clear'
copy方法,复制集合(浅复制)
A.copy()
>>> A={2,6,7,5,4,9}
>>> b=A.copy()
>>> b
{2, 4, 5, 6, 7, 9}
>>> b==A
True
>>> b is A
False
>>> B
frozenset({1, 2, 3, 4})
>>> c=B.copy()
>>> c
frozenset({1, 2, 3, 4})
删除集合
del 集合
>>> A
{2, 4, 5, 6, 7, 9}
>>> del A
>>> A
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'A' is not defined
>>> B
frozenset({1, 2, 3, 4})
>>> del B
>>> B
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'B' is not defined
集合推导式是用可迭的对象依次生成集合内元素的方法
语法
-{表达式 for 变量 in 可迭对象}
或{表达式 for 变量 in 可迭对象 if 条件语句}
>>> names
[1, 3, 'Name', 'Mob']
>>> s={n for n in names}
>>> s
{'Mob', 1, 3, 'Name'}
>>> s={n for n in names if n!=3}
>>> s
{1, 2, 'Mob', 'Name'}
>>> s={n for n in names if n!=2}
>>> s
{1, 'Mob', 'Name'}