文章目录
集合类型
集合定义
集合是多个元素的无序组合
- 集合类型与数学中的集合概念一致
- 集合用大括号{}表示,元素间用逗号分隔
- 集合元素之间无序,每个元素唯一,不存在相同元素
- 集合元素不可更改,不能是可变数据类型
举例:
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中的非相同元素 |
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")
print(A-B) #123 在A中出现,没有在B中出现的元素
print(B-A) # {'2', '1', '3'} 在B中出现,没有在A中出现的元素
print(A&B) # {'p', 'y'}
print(A^B) # {'2', 123, '1', '3'}
print(A|B) # {'2', '3', 'y', 123, 'p', '1'}
集合函数
函数 | 描述 |
---|---|
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中,返回True,否则返回False |
set(x) | 将其他类型变量x转变为集合类型 |
举例:
A={
"p","y",123}
for item in A:
print(item,end="") # 123py
A={
"p","y",123}
try :
while True:
print(A.pop()