python中集合类型及操作


python中集合类型及操作

特点:集合元素之间无序,每个元素唯一,不存在相同元素,集合元素不可更改,不能是可变数据类型(所以列表就不能是集合的元素)

集合类型的定义

集合用大括号{}表示,元素间用逗号分隔
建立集合类型用{}或set()
建立空集合类型,必须使用set(),因为{}是用来创建空字典的

>>>A = {"python",123,("python",123)}
{123, 'python', ('python',123)}
>>>B = set("pypy123")     # set()输入的对象是字符串
{'1', 'p', '2', '3', 'y'}
# 集合对我们来说是无序的,它打印出来的顺序和定义是不一样的
# 集合对计算机来说是有序的,它每次打印出来的顺序是一定的

集合操作符

操作符及应用
描述
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.add(x) 如果x不在集合S中,将x增加到S
S.discard(x) 移除S中元素x,如果x不在集合S中,不报错
S.remove(x) 移除S中元素x,如果x不在集合S中,产生KeyErrror异常
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中,返回True
set(x) 将其他类型x转变为集合类型

集合类型应用场景

1.包含关系比较

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

2.数据去重(利用集合类型所用元素无重复)

>>>ls = ["p", "p", "y", "y", 123]
>>>s = list(set(ls))
['p', 'y', 123]


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM