frozenset() 函數返回一個不可變的 frozenset 對象,該對象使用給定迭代中的元素初始化。
Frozen set 隻是Python set 對象的不可變版本。雖然集合的元素可以隨時修改,但凍結集合的元素在創建後保持不變。
因此,凍結集可以用作Dictionary 中的鍵或作為另一個集合的元素。但像集合一樣,它沒有順序(元素可以設置在任何索引處)。
用法:
frozenset([iterable])
參數:
frozenset()
函數采用單個參數:
- 可迭代(可選)- 包含用於初始化frozenset 的元素的可迭代對象。
可以設置迭代,字典,元組, 等等。
返回:
frozenset()
函數返回一個不可變的frozenset
,並使用給定迭代中的元素進行了初始化。
如果未傳遞任何參數,則返回一個空的 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 "<string>, line 8, in <module> fSet.add('v') AttributeError: 'frozenset' object has no attribute 'add'
示例 2:frozenset() 用於字典
當您將字典用作凍結集的迭代時,它隻需要字典的鍵來創建集合。
# random dictionary
person = {"name": "John", "age": 23, "sex": "male"}
fSet = frozenset(person)
print('The frozen set is:', fSet)
輸出
The frozen set is: frozenset({'name', 'sex', 'age'})
凍結集操作
與普通集合一樣,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})
同樣,也可以使用其他設置方法,例如 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
相關用法
- Python frozenset()用法及代碼示例
- Python dict fromkeys()用法及代碼示例
- Python frexp()用法及代碼示例
- Python float轉exponential用法及代碼示例
- Python calendar firstweekday()用法及代碼示例
- Python fsum()用法及代碼示例
- Python format()用法及代碼示例
- Python calendar formatmonth()用法及代碼示例
- Python filecmp.cmpfiles()用法及代碼示例
- Python float()用法及代碼示例
- Python fileinput.filelineno()用法及代碼示例
- Python fileinput.lineno()用法及代碼示例
- Python fileinput.input()用法及代碼示例
- Python factorial()用法及代碼示例
- Python fabs() vs abs()用法及代碼示例
- Python calendar formatyear()用法及代碼示例
- Python fileinput.isfirstline()用法及代碼示例
- Python focus_set() and focus_get()用法及代碼示例
- Python string find()用法及代碼示例
注:本文由純淨天空篩選整理自 Python frozenset()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。