📜  Python Frozenset()(1)

📅  最后修改于: 2023-12-03 14:45:58.195000             🧑  作者: Mango

Python Frozenset()

Frozenset() 是 Python 中的一种集合数据类型,不同于 set() 它是不可变的。

创建 Frozenset()

Frozenset() 可以通过以下两种方式来创建:

直接创建

当 Frozenset() 被直接创建时,可以传递一个可迭代对象作为参数。

fset = frozenset([1, 2, 3])
print(fset)  # frozenset({1, 2, 3})
使用 set() 来创建

我们也可以通过 set() 来创建 Frozenset()。

my_set = {1, 2, 3, 4}
fset = frozenset(my_set)
print(fset)  # frozenset({1, 2, 3, 4})
Frozenset() 的方法

Frozenset() 继承了 set() 的所有方法,这些方法也同样适用于 Frozenset()。但由于 Frozenset() 是不可变的,因此不能修改或添加元素。

以下是一些常用的方法:

union()

返回一个包含两个集合中所有元素的集合,重复元素只显示一次。

fset1 = frozenset([1, 2, 3])
fset2 = frozenset([2, 3, 4])
union_set = fset1.union(fset2)
print(union_set)  # frozenset({1, 2, 3, 4})
intersection()

返回两个集合中共同存在的元素的集合。

fset1 = frozenset([1, 2, 3])
fset2 = frozenset([2, 3, 4])
intersect_set = fset1.intersection(fset2)
print(intersect_set)  # frozenset({2, 3})
difference()

返回一个包括在第一个集合中而不在第二个集合中的元素集合。

fset1 = frozenset([1, 2, 3])
fset2 = frozenset([2, 3, 4])
diff_set = fset1.difference(fset2)
print(diff_set)  # frozenset({1})
isdisjoint()

判断两个集合是否不相交。

fset1 = frozenset([1, 2, 3])
fset2 = frozenset([4, 5, 6])
fset3 = frozenset([3, 4, 5])

print(fset1.isdisjoint(fset2))  # True
print(fset1.isdisjoint(fset3))  # False
总结

Frozenset() 是一种不可变的集合类型,可以被当做键使用,比如在字典中作为键。Frozenset() 继承了 set() 的所有方法,但由于它是不可变的,不能修改或添加元素。