Python函式每日一講 - frozenset集合函式入門及例項

pythontab發表於2018-10-29

函式作用

frozenset() 返回一個凍結的集合,凍結後集合不能再新增或刪除任何元素。與之對應的是set函式,set無序排序且不重複,是可變的,有add(),remove()等方法。

函式原型

frozenset([iterable])

版本相容性

Python3.x

>= Python2.4

函式引數

iterable -- 可迭代的物件,比如列表、字典、元組、字串等等。

函式用法

根據引數給定的物件, 返回相應的不可變集合。

返回值

返回新的 frozenset 物件,如果不提供任何引數,預設會生成空集合。

英文解釋

Return a new frozenset object, optionally with elements taken from iterable. frozenset is a built-in class. See frozenset and Set Types — set, frozenset for documentation about this class.


For other containers see the built-in set, list, tuple, and dict classes, as well as the collections module.

例項

>>> num = frozenset(range(10))     # 建立不可變集合
>>> num
frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> sitename = frozenset('pythontab') 
>>> sitename
frozenset(['a', 'b', 'h', 'o', 'n', 'p', 't', 'y'])   # 建立不可變集合, 注意:順序不是按照引數的順序
>>>
>>> sitename2 = set('pythontab')
>>> sitename2
set(['a', 'b', 'h', 'o', 'n', 'p', 't', 'y']) #可變集合
>>>
>>> sitename2.add('.com') #向可變集合新增成員
>>> sitename2
set(['a', 'b', 'h', 'o', 'n', 'p', 't', 'y', '.com'])
>>>
>>> sitename.add('.com')  #向不可變集合新增成員, 會報錯
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'frozenset' object has no attribute 'add'
>>>


相關文章