赞
赏
Python 的 不变集合(frozenset) 不支持集合的增加、删除和修改等操作。但是集合的 交集、并集 和 差集 操作都是类似与普通的 集合。
Python 的不变集合不支持增加元素
print("嗨客网(www.haicoder.net)")
# Python 的不变集合不支持增加元素
s = frozenset(["Python", "Golang", "JavaScript"])
s.add("HaiCoder")
print("FrozenSet =", s)
程序运行后,控制台输出如下:
我们使用 frozenset 从 列表 创建了一个不变集合 s,集合中有三个 字符串 类型的元素,接着,我们使用 add 给不变集合添加元素。
此时,我们看到,程序报错,因为不变集合是不支持增加元素的操作的。
Python 的不变集合支持求交集的操作
print("嗨客网(www.haicoder.net)")
# Python 的不变集合支持求交集的操作
s = frozenset(["Python", "Golang", "JavaScript"])
s1 = frozenset(["Python", "C++", "PHP"])
res = s.intersection(s1)
print("FrozenSet inter =", res)
程序运行后,控制台输出如下:
我们使用 frozenset 创建了两个不变集合 s 和 s1,接着,使用不变集合的 intersection 操作,获取集合 s 和 s1 的交集。
我们看到,我们求出了集合 s 和 s1 的交集,并且交集的结果是通过返回值的形式返回的,说明不变集合是支持以返回值的形式进行求交集的。
Python 的不变集合支持求并集的操作
print("嗨客网(www.haicoder.net)")
# Python 的不变集合支持求并集的操作
s = frozenset(["Python", "Golang", "JavaScript"])
s1 = frozenset(["Python", "C++", "PHP"])
res = s.union(s1)
print("FrozenSet union =", res)
程序运行后,控制台输出如下:
我们使用 frozenset 创建了两个不变集合 s 和 s1,接着,使用不变集合的 union 操作,获取集合 s 和 s1 的并集。
我们看到,我们求出了集合 s 和 s1 的并集,并且并集的结果是通过返回值的形式返回的,说明不变集合是支持以返回值的形式进行求并集的。
Python 的不变集合支持求差集的操作
print("嗨客网(www.haicoder.net)")
# Python 的不变集合支持求差集的操作
s = frozenset(["Python", "Golang", "JavaScript"])
s1 = frozenset(["Python", "C++", "PHP"])
res = s.difference(s1)
print("FrozenSet diff =", res)
程序运行后,控制台输出如下:
我们使用 frozenset 创建了两个不变集合 s 和 s1,接着,使用不变集合的 difference 操作,获取集合 s 和 s1 的差集。
Python 的不变集合(frozenset) 不支持集合的增加、删除和修改等操作。但是集合的交集、并集和差集操作都是类似与普通的集合。