Tutorial Study Image

Python frozenset()

frozenset() 函数返回不可修改的 frozenset 对象。它包含无序的对象集合,且不可更改,因此可以用作字典的键。


frozenset([iterable]) #Where iterable can be a list, string, tuple, dictionary , set etc
 

frozenset() 参数

frozenset() 函数接受一个参数。如果提供了可迭代参数,它将从中返回一个 frozenset。该可迭代对象包含用于初始化 frozenset 的元素。

参数 描述 必需/可选
可迭代对象 可迭代对象可以是集合、字典、元组等。 可选
无参数 空的 frozenset 对象 可选

frozenset() 返回值

返回值为给定可迭代对象的不可变(不能修改)冻结集合。

输入 返回值
整型 一个整数冻结集合
字符 一个字符冻结集合
无参数 空集

Python 中 frozenset() 方法的示例

示例 1:Python frozenset() 的工作原理


# tuple of vowels
vowels = ('a', 'e', 'i', 'o', 'u')

fSet = frozenset(vowels)
print('The frozen set is:', fSet)
print('The empty frozen set is:', frozenset())

# frozensets are immutable
fSet.add('v')
 

输出

The frozen set is: frozenset({'a', 'o', 'u', 'i', 'e'})
The empty frozen set is: frozenset()
Traceback (most recent call last):
  File ", line 8, in 
    fSet.add('v')
AttributeError: 'frozenset' object has no attribute 'add'

示例 2:创建整数 frozenset()


fs = frozenset([1, 2, 3, 4, 5, 4, 3])
for x in fs:
    print(x)
 

输出


1
2
3
4
5

示例 3:字典的 frozenset()


# random dictionary pers "John", "age": 23, "sex": "male"}

fSet = frozenset(person)
print('The frozen set is:', fSet)
 

输出


The frozen set is: frozenset({'name', 'sex', 'age'})

示例 4:Frozenset() 在 copy、difference、intersection、symmetric_difference 和 union 等操作中的应用


# Frozensets
# initialize A and B
A = frozenset([1, 2, 3, 4])
B = frozenset([3, 4, 5, 6])

# copying a frozenset
C = A.copy()  # Output: frozenset({1, 2, 3, 4})
print(C)

# union
print(A.union(B))  # Output: frozenset({1, 2, 3, 4, 5, 6})

# intersection
print(A.intersection(B))  # Output: frozenset({3, 4})

# difference
print(A.difference(B))  # Output: frozenset({1, 2})

# symmetric_difference
print(A.symmetric_difference(B))  # Output: frozenset({1, 2, 5, 6})
 

输出


frozenset({1, 2, 3, 4})
frozenset({1, 2, 3, 4, 5, 6})
frozenset({3, 4})
frozenset({1, 2})
frozenset({1, 2, 5, 6})

示例 5:Frozenset() 在 isdisjoint、issubset 和 issuperset 等方法中的应用


# Frozensets
# initialize A, B and C
A = frozenset([1, 2, 3, 4])
B = frozenset([3, 4, 5, 6])
C = frozenset([5, 6])

# isdisjoint() method
print(A.isdisjoint(C))  # Output: True

# issubset() method
print(C.issubset(B))  # Output: True

# issuperset() method
print(B.issuperset(C))  # Output: True
 

输出


True
True
True