Python不变集合(frozenset)操作

Python不变集合(frozenset)操作教程

Python不变集合(frozenset) 不支持集合的增加、删除和修改等操作。但是集合的 交集并集差集 操作都是类似与普通的 集合

案例

不变集合不支持增加元素

Python 的不变集合不支持增加元素

print("嗨客网(www.haicoder.net)") # Python 的不变集合不支持增加元素 s = frozenset(["Python", "Golang", "JavaScript"]) s.add("HaiCoder") print("FrozenSet =", s)

程序运行后,控制台输出如下:

166 python不变集合frozenset.png

我们使用 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)

程序运行后,控制台输出如下:

167 python不变集合frozenset交集.png

我们使用 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)

程序运行后,控制台输出如下:

168 python不变集合frozenset并集.png

我们使用 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)

程序运行后,控制台输出如下:

169 python不变集合frozenset差集.png

我们使用 frozenset 创建了两个不变集合 s 和 s1,接着,使用不变集合的 difference 操作,获取集合 s 和 s1 的差集。

Python不变集合(frozenset)操作总结

Python 的不变集合(frozenset) 不支持集合的增加、删除和修改等操作。但是集合的交集、并集和差集操作都是类似与普通的集合。