不同的 Python 集合方法
集合方法很多,上面已经使用了其中的一些方法。这是 set 对象可用的所有方法的列表。
方法 | 描述 |
---|---|
add() | 将元素添加到集合中 |
clear() | 从集合中删除所有元素 |
copy() | 返回集合的副本 |
difference() | 返回两个或多个集合的差作为新集合 |
difference_update() | 从该集合中删除另一个集合的所有元素 |
discard() | 如果元素是成员,则从集合中删除它。(如果元素不在集合中,则不执行任何操作) |
intersection() | 返回两个集合的交集作为新集合 |
intersection_update() | 用自身和另一个的交集更新集合 |
isdisjoint() | True 如果两个集合的交点为空,则返回 |
issubset() | 返回 True 另一个集合是否包含此集合 |
issuperset() | 返回 True 此集合是否包含另一个集合 |
pop() | 删除并返回一个任意的 set 元素。提示KeyError,如果集合为空 |
remove() | 从集合中删除一个元素。如果元素不是成员,则引发一个 KeyError |
symmetric_difference() | 将两个集合的对称差作为新集合返回 |
symmetric_difference_update() | 用本身和另一个的对称差异更新一个集合 |
union() | 返回新集合中集合的并集 |
update() | 用自身和其他元素的并集更新集合 |
集合与内置函数
内置函数如 all()
、any()
、enumerate()
、len()
、max()
、min()
、sort()
、sum()
等常用来与 set 一起执行不同的任务。
功能 | 描述 |
---|---|
all() | 如果集合的所有元素都为 True(或者集合为空),则返回 True。 |
any() | 如果集合中的任何元素为 True,则返回 True。 如果集合为空,则返回False。 |
enumerate() | 返回一个枚举对象。它包含成对的所有项的索引和值。 |
len() | 返回集合中的长度(项目数)。 |
max() | 返回集合中最大的项目。 |
min() | 返回集合中最小的项目。 |
sorted() | 从集合中的元素返回一个新的排序列表(不对集合本身进行排序)。 |
sum() | 返回集合中所有元素的总和。 |
Python Frozenset
Frozenset 是具有集合特征的新类,但是一旦分配,就不能更改其元素。元组是不可变列表,而冻结集是不可变集,可用作字典的键。
可以使用函数 Frozenset()
创建 Frozensets 。
此数据类型支持的方法,如 copy()
,difference()
,intersection()
,isdisjoint()
,issubset()
,issuperset()
,symmetric_difference()
和 union()
。由于不可变,因此没有添加或删除元素的方法。
# 初始化 A 和 B
A = frozenset([1, 2, 3, 4])
B = frozenset([3, 4, 5, 6])
print(A.isdisjoint(B))
print(A.difference(B))
print(A | B)
False
frozenst({1,2})
frozenset({1,2,3,4,5,6})