目录python
集合是多个元素的无序组合函数
集合元素不可更改,不能是可变数据类型code
创建空集合类型,必须使用set()blog
A = {"python", 123, ("python", 123)} # 使用{}创建集合 A
{('python', 123), 123, 'python'}
B = set("pypy123") # 使用set()创建集合 B
{'1', '2', '3', 'p', 'y'}
C = {"python", 123, "python", 123} C
{123, 'python'}
操做符及应用 | 描述 |
---|---|
S | T | 返回一个新集合,包括在集合S和T中的全部元素 |
S - T | 返回一个新集合,包括在集合S但不在T中的元素 |
S & T | 返回一个新集合,包括同时在集合S和T中的元素 |
S ^ T | 返回一个新集合,包括集合S和T中的非相同元素 |
S <= T或S < T | 返回True/False,判断S和T的子集关系 |
S >= T或S > T | 返回True/False,判断S和T的包含关系 |
操做符及应用 | 描述 |
---|---|
S |= T | 更新集合S,包括在集合S和T中的全部元素 |
S -= T | 更新集合S,包括在集合S但不在T中的元素 |
S &= T | 更新集合S,包括同时在集合S和T中的元素 |
S ^= T | 更新集合S,包括集合S和T中的非相同元素 |
A = {"p", "y", 123} B = set("pypy123")
A - B
{123}
A & B
{'p', 'y'}
A ^ B
{'1', 123, '2', '3'}
B - A
{'1', '2', '3'}
A | B
{'1', 123, '2', '3', 'p', 'y'}
操做函数或方法 | 描述 |
---|---|
S.add(x) | 若是x不在集合S中,将x增长到S |
S.discard(x) | 移除S中元素x,若是x不在集合S中,不报错 |
S.remove(x) | 移除S中元素x,若是x不在集合S中,产生KeyError异常 |
S.clear() | 移除S中全部元素 |
S.pop() | 随机返回S的一个元素,更新S,若S为空产生KeyError异常 |
S.copy() | 返回集合S的一个副本 |
len(S) | 返回集合S的元素个数 |
x in S | 判断S中元素x,x在集合S中,返回True,不然返回False |
x not in S | 判断S中元素x,x不在集合S中,返回False,不然返回True |
set(x) | 将其余类型变量x转变为集合类型 |
A = {"p", "y", 123} for item in A: print(item, end="")
123yp
"p" in {"p", "y" , 123}
True
{"p", "y"} >= {"p", "y" , 123}
False
ls = ["p", "p", "y", "y", 123]
s = set(ls) # 利用了集合无重复元素的特色 s
{123, 'p', 'y'}
lt = list(s) # 还能够将集合转换为列表 lt
[123, 'y', 'p']