frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。与之对应的是set函数,set无序排序且不重复,是可变的,有add(),remove()等方法。

  1. frozenset([iterable])

>= 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.

  1. >>> num = frozenset(range(10)) # 创建不可变集合
  2. >>> num
  3. frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
  4. >>> sitename = frozenset('pythontab')
  5. >>> sitename
  6. frozenset(['a', 'b', 'h', 'o', 'n', 'p', 't', 'y']) # 创建不可变集合, 注意:顺序不是按照参数的顺序
  7. >>>
  8. >>> sitename2 = set('pythontab')
  9. >>> sitename2
  10. set(['a', 'b', 'h', 'o', 'n', 'p', 't', 'y']) #可变集合
  11. >>>
  12. >>> sitename2.add('.com') #向可变集合添加成员
  13. >>> sitename2
  14. set(['a', 'b', 'h', 'o', 'n', 'p', 't', 'y', '.com'])
  15. >>>
  16. >>> sitename.add('.com') #向不可变集合添加成员, 会报错
  17. Traceback (most recent call last):
  18. File "<stdin>", line 1, in <module>
  19. AttributeError: 'frozenset' object has no attribute 'add'
  20. >>>

 

版权声明:本文为qinglang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/qinglang/p/9877910.html