Python—语法基础(2) 集合类型及操作
集合:(同数学概念) 多个元素的无序组合
- 用{} 表示,元素间用逗号分隔
- 元素类型不必相同
- 每个元素唯一,不存在相同元素
- 元素不可更改,不能是可变数据类型
创建集合类型: {} 或 set(),空集合类型只能使用set()
集合操作符:
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中的非相同元素
集合处理方法:
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.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转变为集合类型
S.pop() 随机返回S的一个元素,更新S,若S为空产生KeyError异常
集合类型常见应用:
- 包含关系比较:
- 数据去重:ls = ["p", "p", "y", "y", 123],lt=list(set(ls))