【python】11_frozenset

1.frozenset簡介

frozenset 是 set 的不可變版本,因此 set 集合中所有能改變集合本身的方法(如 add、remove、discard、update 等),frozenset 都不支持;set 集合中不改變集合本身的方法,fronzenset 都支持。

set1 = frozenset({1, 2, 3, 4})
print(set1, type(set1))

在這裏插入圖片描述
進入builtins.py查看frozenset類源碼,可以看到frozenset支持的函數都是不改變集合本身的方法:
在這裏插入圖片描述

2.frozenset的應用場景

frozenset 的這些方法和 set 集合同名方法的功能完全相同。
frozenset 的作用主要有兩點:
• 當集合元素不需要改變時,使用 frozenset 代替 set 更安全。
• 當某些 API 需要不可變對象時,必須用 frozenset 代替set。比如 dict 的 key 必須是不可變對象,因此只能用 frozenset;再比如 set 本身的集合元素必須是不可變的,因此 set 不能包含 set,set 只能包含 frozenset。

set1 = frozenset({1, 2, 3, 4})
set2 = {1, 2, set1}
print(set2)

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章