Python数据结构 - 冻结集合

在Python中,FrozenSet是一个不可变的唯一元素集合。
它类似于集合,但一旦创建,其元素就不能被修改。

💡 用法

  • 当您需要一个无序的不可变唯一元素集合时,通常使用FrozenSet。
  • 在您希望确保集合中的元素保持不变的情况下,它是非常有用。

✏️ 语法

python
frozen_set = frozenset(iterable)

在上述代码中,iterable是一个可选参数,可以是任何可迭代对象,如列表、元组或集合。
它用于使用可迭代对象中的元素初始化FrozenSet。

🔧 方法

python
frozen_set.copy()

此方法返回FrozenSet的浅拷贝。

python
frozen_set.difference(other)

此方法返回一个新的FrozenSet,其中包含当前FrozenSet中存在但other FrozenSet中不存在的元素。

python
frozen_set.intersection(other1, other2, ...)

此方法返回一个新的FrozenSet,其中包含当前FrozenSet和other FrozenSets中的公共元素。

python
frozen_set.isdisjoint(other)

此方法返回True,如果当前FrozenSet与other FrozenSet没有共同的元素,则返回False

python
frozen_set.issubset(other)

此方法返回True,如果当前FrozenSet的所有元素都存在于other FrozenSet中,则返回False

python
frozen_set.issuperset(other)

此方法返回True,如果当前FrozenSet中存在other FrozenSet的所有元素,则返回False

python
frozen_set.union(other1, other2, ...)

此方法返回一个新的FrozenSet,其中包含当前FrozenSet和other FrozenSets中的所有元素。

python
frozen_set.symmetric_difference(other)

此方法返回一个新的FrozenSet,其中包含当前FrozenSet或other FrozenSet中存在的元素,但不包含两者都存在的元素。

python
frozen_set.add(element)

由于FrozenSets是不可变的,元素无法添加,因此此方法会引发错误。

python
frozen_set.remove(element)

由于FrozenSets是不可变的,元素无法删除,因此此方法会引发错误。

⚠️ 注意

  • FrozenSets是可哈希的,可以用作字典中的键或其他集合中的元素。
  • FrozenSets保留了初始化时添加的元素的顺序。