集合
1.概述
集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合。集合中元素不可重复,元素类型只能是固定数据类型,例如:整数、浮点数、字符串、元组等,列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现。
(1) 集合数据类型是没有顺序的简单对象的聚集,且集合中元素不重复
(2)Python集合数据类型包括可变集合对象(set)和不可变集合对象(frozenset)
(3){}
表示空的字典(dict),因为字典也用大括号定义。空集合为set()
2.解析
(1)创建
>>> s = {1,2,3};s
{1, 2, 3}
>>> type(s)
<class 'set'>
>>> s = set();s
set()
>>> type(s)
<class 'set'>
# 直接用{}创建的是字典
>>> s = {}
>>> s
{}
>>> type(s)
<class 'dict'>
# 直接用()创建的是元组
>>> s = ()
>>> type(s)
<class 'tuple'>
(2)判断集合元素是否存在
x in s
:如果返回True,则表示存在
x not in s
:如果返回True,则表示不存在
>>> s = set('Hello')
>>> s
{'H', 'e', 'l', 'o'}
>>> 'h' in s
False
>>> 'o' not in s
False
(3)集合类型10个操作符
操作符 | 描述 |
---|---|
S - T 或S.difference(T) |
返回一个新集合,包括在集合S中但不在集合T中的元素· |
S -= T 或S.difference_update(T) |
更新集合S,包括在集合S中但不在集合T中的元素 |
S & T 或S.intersection(T) |
返回一个新集合,包括同时在集合S和T中的元素 |
S &= T 或S.intersection_update(T) |
更新集合S,包括同时在集合S和T中的元素 |
S ^ T 或S.symmetric_difference(T) |
返回一个新集合,包括集合S和T中的元素,但不包括同时在其中的元素 |
S ^= T 或S.symmetric_difference_update(T) |
更新集合S,包括集合S和T中的元素,但不包括同时在其中的元素 |
S|T 或S.union(T) |
返回一个新集合,包括集合S和T中所有的元素 |