其他分享
首页 > 其他分享> > 037 集合类型及操作

037 集合类型及操作

作者:互联网

目录


一、概述

二、集合类型定义

集合是多个元素的无序组合

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'}

三、集合操作符

3.1 集合间操作

037-集合类型及操作-01.jpg?x-oss-process=style/watermark

3.2 6个操作符

操作符及应用描述
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的包含关系

3.3 4个增强操作符

操作符及应用描述
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

五、集合类型应用场景

5.1 包含关系比较

"p" in {"p", "y" , 123}
True
{"p", "y"} >= {"p", "y" , 123}
False

5.2 数据去重:集合类型所有元素无重复

ls = ["p", "p", "y", "y", 123]
s = set(ls)   # 利用了集合无重复元素的特点
s
{123, 'p', 'y'}
lt = list(s)  # 还可以将集合转换为列表
lt
[123, 'y', 'p']

六、小结

标签:返回,python,元素,类型,123,操作符,集合,037
来源: https://blog.51cto.com/u_13804357/2709925