【小甲鱼零基础入门学python】学习总结之集合

一、集合的创建
class set([iterable])
class frozenset([iterable]) :注:通过frozenset()建立的集合是不可变的。
返回一个新的 set 或 frozenset 对象,其元素来自于 iterable。 集合的元素必须为 hashable。 要表示由集合对象构成的集合,所有的内层集合必须为 frozenset 对象。 如果未指定 iterable,则将返回一个新的空集合。
非空的 set (不是 frozenset) 还可以通过将以逗号分隔的元素列表包含于花括号之内来创建,例如: {‘jack’, ‘sjoerd’}

>>> set("我是一个兵") 
{'兵', '我', '个', '是', '一'}
>>> set([1,2,3,4,5,5])
{1, 2, 3, 4, 5}
>>> {'I','I','Love','Python'}
{'Python', 'Love', 'I'}

二、集合的操作

>>> s=frozenset((1,2,3,4,4))
>>> t={1,2,3}
>>> s>t  集合的包含与被包含
True
>>> type(s)
<class 'frozenset'>
>>> type(t)
<class 'set'>
>>> t|s   集合的并
{1, 2, 3, 4}
>>> t^s   集合的补
{4}
>>> t&s   集合的交
{1, 2, 3}
>>> t-s   集合的差
set()
>>> s-t  集合的差
frozenset({4})
>>> 
>>> t.add("wo")          
>>> t
{1, 2, 3, 'wo'}
>>> t.add([1,2,3])
Traceback (most recent call last):
  File "", line 1, in <module>
    t.add([1,2,3])
TypeError: unhashable type: 'list
>>> t.remove(1)
>>> t
{2, 3, 'wo'}
>>> t.remove('1')    #如果移除的元素不存在,则会报错
Traceback (most recent call last):
  File "", line 1, in <module>
    t.remove('1')
KeyError: '1'
>>> t.discard(1) #如果移除的元素不存在,也不会报错
>>> t
{2, 3, 'wo'}
>>> t.pop()
2
>>> t
{3, 'wo'}
>>> se=t.copy()
>>> se
{'wo', 3}
>>> type(se)
<class

>>> t.clear()
>>> t
set()

注意:add、remove、discard处理的都是一个元素。

参考自:https://docs.python.org/zh-cn/3.8/library/stdtypes.html#set-types-set-frozenset

你可能感兴趣的:(python)