frozenset 可通过构造函数 frozenset() 来创建:
class set([iterable])
class frozenset([iterable])
上述俩种构建器输入一个可迭代对象( iterable )返回一个新的 set 或 frozenset 对象。 如果未指定可迭代对象,则将返回一个新的空集合。
由于集合的元素必须为可哈希的,因此元素为集合的集合,其所有的内层集合必须为 frozenset对象。
集合类型通用操作 (可用于 set 和 frozenset)
下表中 s 代表多项集(collection),x 是任何满足 s 所规定的类型和值限制的任意对象,set代表集合,other代表另一集合。
( union() 、 intersection() 、 difference() 、symmetric_difference() 、issubset() 和 issuperset() 方法可以接受任何可迭代对象作为参数, 而基于运算符的对应方法则要求参数为集合对象。)
(混合了 set 实例与 frozenset 的二进制位运算将返回与第一个操作数相同的类型。例如: frozenset('ab') | set('bc') 将返回 frozenset 的实例。)
操作操作说明len(s)返回集合 s 中的元素数量(即 s 的基数)。x in s检测 x 是否为 s 中的成员。x not in s检测 x 是否非 s 中的成员。isdisjoint(other)如果集合中没有与 other 共有的元素则返回 True。 当且仅当两个集合的交集为空集合时,两者为不相交集合。set other检测集合是否为 other 的真超集,即 set >= other and set != other。set | other | ...,union(others)返回一个新集合,其中包含来自原集合以及 others 指定的所有集合中的元素。set & other & ...,intersection(others)返回一个新集合,其中包含原集合以及 others 指定的所有集合中共有的元素。set - other - ...,difference(others)返回一个新集合,其中包含原集合中在 others 指定的其他集合中不存在的元素。set ^ other,symmetric_difference(others)返回一个新集合,其中的元素或属于原集合或属于 other 指定的其他集合,但不能同时属于两者。copy()返回原集合的浅拷贝。可用于 set 但不可用于 frozenset 的操作
d 代表一个字典
操作操作说明list(d)返回字典 d 中使用的所有键的列表。len(d)返回字典 d 中的项数。d[key]返回 d 中以 key 为键的项。 如果映射中不存在 key 则会引发 KeyError。d[key] = value将 d[key] 设为 value。del d[key]将 d[key] 从 d 中移除。 如果映射中不存在 key 则会引发 KeyError。key in d如果 d 中存在键 key 则返回 True,否则返回 False。key not in d等价于 not key in d。iter(d)返回以字典的键为元素的迭代器。 这是 iter(d.keys()) 的快捷方式。clear()移除字典中的所有元素。copy()返回原字典的浅拷贝。d | other合并 d 和 other 中的键和值来创建一个新的字典,两者必须都是字典。当 d 和 other 有相同键时, other 的值优先。d |= other用 other 的键和值更新字典 d ,other 可以是 mapping 或 iterable 的键值对。当 d 和 other 有相同键时, other 的值优先。ref: Python 文档:集合类型 set 与 frozenset Python 文档:映射类型 dict