- 特点:
1.元素不可重复;
2.元素类型只能是固定数据类型:例如整数、浮点数、字符串、元组等;列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现;
3.元素无顺序,不能进行索引和切片;
4.集合中的元素可以动态增加或删除;
- 创建方式:
s={425,"BIT",(10,"CS"),424}
>>> W=set("apple")
>>> W
{'a', 'e', 'p', 'l'}
>>> V=set(("cat",'dog','tigger'))
>>> V
{'cat', 'tigger', 'dog'}
操作符 |
描述 |
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中的所有元素 |
S|=T或S.update(T) |
更新集合S,包括集合S和T中的所有元素 |
S<=T或S.issubset(T) |
如果S与T相同或S是T的子集,返回True,否则返回False,可以用S<T判断S是否是T的真子集 |
S>=T或S.isuperset(T) |
如果S与T相同或S是T的超集,返回True,否则返回False,可以用S>T判断S是否是T的真超集 |
操作函数或方法 |
描述 |
S.add(x) |
如果数据项x不在集合S中,将x增加到S |
S.clear() |
移除S中的所有数据项 |
S.copy() |
返回集合S的一个副本 |
S.pop() |
随机返回集合S中的一个元素,如果S为空,产生KeyError异常 |
S.discard(x) |
如果x在集合S中,移除该元素;如果x不在集合S中,不报错 |
S.remove(x) |
如果x在集合S中,移除该元素;不在则产生KeyError异常 |
S.isdisjoint(T) |
如果集合S与T没有相同元素,返回True |
len(S) |
返回集合S的元素个数 |
x in S |
如果x是S的元素,返回True,否则返回False |
x not in S |
如果x不是S的元素,返回True,否则返回False |
>>> "BIT" in {"PYTHON","BIT",123,"GOOD"}#成员关系测试
True
>>> tup={"PYTHON","BIT",123,"GOOD",123}#元素去重
>>> set(tup)
{'BIT', 123, 'PYTHON', 'GOOD'}#去重同时删除数据项
>>> newtup=tuple(set(tup)-{'PYTHON'})
>>> newtup
(123, 'BIT', 'GOOD')
网友评论