查看
dir(set)
: 列出 set
的方法
help(set)
: 查看开发者对 set
方法所编写的详细描述文档
help(set.add)
可以仅查看 add() 的用法
add()
- 释义
- 向集合中添加一个元素
- 若元素已经存在,则此操作无效
>>> s = {1}
>>> s.add(2)
>>> s
{1, 2}
>>>
>>> s.add(3, 4)
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
s.add(3, 4)
TypeError: add() takes exactly one argument (2 given)
>>>
>>> s = {1, 2, 3}
>>> s.add(3)
>>> s
{1, 2, 3}
>>>
clear()
>>> s = {1, 2, 3}
>>> s.clear()
>>> s
set()
>>>
copy()
>>> s1 = {1, 2, 3}
>>> s2 = s1.copy()
>>> id(s1)
1904343128320
>>> id(s2)
1904343128544
difference()
- 释义
- 将两个或多个集合的差异作为新集合返回
- A.difference(B) 返回 A 中不同于 B 的元素
>>> s1 = {1, 2, 3}
>>> s2 = {0, 1, 2, 3, 4}
>>> s3 = {6, 7, 8, 9}
>>> s4 = {2}
>>> s5 = {3, 4}
>>> s1.difference(s2)
set()
>>> s1.difference(s3)
{1, 2, 3}
>>> s1.difference(s4)
{1, 3}
>>> s1.difference(s5)
{1, 2}
>>>
- 从结果看
- 若 A 是 B 的子集,则 A.difference(B) 输出 set()
- 若 A 与 B 没有交集,则 A.difference(B) 输出 A 本身
- ...
- 当作概率论中的古典概型即可
difference_update()
>>> s1 = {"YorkFish", "Amy Green", "Johnny Lee"}
>>> s2 = {"Amy Green", "Johnny Lee", "Tony black"}
>>> s1.difference_update(s2)
>>> s1
{'YorkFish'}
>>>
ps
difference()
是返回值
difference_update()
是用 difference()
的结果更新原集合
discard()
- 释义
- 如果元素是集合的成员,则将其从集合中移除
- 如果元素不是集合的成员,则不执行任何操作
>>> s = {1, 2, 3, 4, 5}
>>> s.discard(1)
>>> s
{2, 3, 4, 5}
>>> s.discard(6)
>>> s
{2, 3, 4, 5}
>>>
intersection()
>>> s1 = {"YorkFish", "Amy Green", "Johnny Lee"}
>>> s2 = {"Amy Green", "Johnny Lee", "Tony black"}
>>> s1.intersection(s2)
{'Johnny Lee', 'Amy Green'}
>>>
intersection_update()
>>> s1 = {"YorkFish", "Amy Green", "Johnny Lee"}
>>> s2 = {"Amy Green", "Johnny Lee", "Tony black"}
>>> s1.intersection_update(s2)
>>> s1
{'Johnny Lee', 'Amy Green'}
>>>
ps
intersection()
是返回值
intersection_update()
是用 intersection()
的结果更新原集合
isdisjoint()
- 释义:如果两个集合没有交集,返回
True
,否则,返回 False
>>> s1 = {"YorkFish"}
>>> s2 = {"Amy Green", "Johnny Lee", "Tony black"}
>>> s1.isdisjoint(s2)
True
>>>
issubset()
- 释义:A.issubset(B) 时,如果集合 A 是集合 B 的子集,返回
True
,否则,返回 False
>>> s1 = {"Amy Green", "Johnny Lee"}
>>> s2 = {"Amy Green", "Johnny Lee", "Tony black"}
>>> s1.issubset(s2)
True
>>>
issuperset()
- 释义
- 与
issubset()
相反
- A.issuperset(B) 时,如果集合 A 是集合 B 的超集,返回
True
,否则,返回 False
>>> s1 = {"Amy Green", "Johnny Lee", "Tony black"}
>>> s2 = {"Amy Green", "Johnny Lee"}
>>> s1.issuperset(s2)
True
>>>
pop()
- 释义
- 删除并且返回集合中的一个元素
- 与列表不同,集合的 pop() 从某种程度上说是随机的
>>> s = {1, 2, 3, 4, 5}
>>> s.pop()
1
>>> s
{2, 3, 4, 5}
>>>
remove()
- 释义
- 从集合中删除指定元素,前提是它必须是该集合的成员
- 如果需要删除的元素不是该集合的成员,会抛出异常
keyError
>>> s = {1, 2, 3, 4, 5}
>>> s.remove(3)
>>> s
{1, 2, 4, 5}
>>>
symmetric_difference()
- 释义
- 将两个集合的“对等差分”作为新集合返回
- 对等差分:不重复部分
>>> s1 = {"YorkFish", "Amy Green", "Johnny Lee"}
>>> s2 = {"Amy Green", "Johnny Lee", "Tony black"}
>>> s1.symmetric_difference(s2)
{'YorkFish', 'Tony black'}
>>>
symmetric_difference_update()
>>> s1 = {"YorkFish", "Amy Green", "Johnny Lee"}
>>> s2 = {"Amy Green", "Johnny Lee", "Tony black"}
>>> s1.symmetric_difference_update(s2)
>>> s1
{'Tony black', 'YorkFish'}
>>>
ps
symmetric_difference()
是返回值
symmetric_difference_update()
是用 symmetric_difference()
的结果更新原集合
union()
>>> s1 = {"YorkFish", "Amy Green", "Johnny Lee"}
>>> s2 = {"Amy Green", "Johnny Lee", "Tony black"}
>>> s1.union(s2)
{'Tony black', 'Johnny Lee', 'Amy Green', 'YorkFish'}
>>>
update()
>>> s1 = {"YorkFish", "Amy Green", "Johnny Lee"}
>>> s2 = {"Amy Green", "Johnny Lee", "Tony black"}
>>> s1.update(s2)
>>> s1
{'Tony black', 'Johnny Lee', 'Amy Green', 'YorkFish'}
>>>
ps
union()
是返回值
update()
是用 union()
的结果更新原集合