Python--集合类型及操作
Posted bilbylu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python--集合类型及操作相关的知识,希望对你有一定的参考价值。
Python数据类型---集合
-集合类型定义:
集合类型与数学中的集合概念一致,是多个元素的无序组合(每个元素唯一,不存在相同元素);
集合用大括号表示,元素间用逗号分隔;
建立集合类型用或set() ,建立空集合,必须使用set();
>>>A="python",520,("python",520) #使用建立集合
520, (‘python‘, 520), ‘python‘
>>>B=set("ppyy1223") #使用set()建立集合
‘2‘, ‘1‘, ‘3‘, ‘y‘, ‘p‘
-集合操作符:
假设S/T是已定义的两个集合;
操作符及应用 | 描述 |
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="p","y",123 >>> T=set("ppyy123")
>>> S-T 123
>>> S|T
‘2‘, ‘1‘, ‘p‘, ‘3‘, ‘y‘, 123
>>> S^T
‘3‘, ‘2‘, 123, ‘1‘
>>> S&T
‘y‘, ‘p‘
-集合处理方法:
操作函数或方法 | 描述 |
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.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="py",123,"thon"
>>> T=S.copy()
>>> T
‘py‘, 123, ‘thon‘
>>> for i in range(3):
T.pop()
‘py‘
123
‘thon‘
>>> T
set()
-集合类型应用场景:
1.包含关系比较
>>> "p" in "p",123
True
>>> "p","y" >= "p","y",123
False
2.数据去重(集合类型所有类型无重复)
>>> ls = ["p","y","p","y",123]
>>> S=set(ls) #利用集合无重复的特性
>>> S
123, ‘p‘, ‘y‘
>>> lt = list(S) #再将集合转变为列表
>>> lt
[123, ‘p‘, ‘y‘]
更多应用等待大家在实际应用中实践开发!
如有错误或者遗漏欢迎留言指证补充!
以上是关于Python--集合类型及操作的主要内容,如果未能解决你的问题,请参考以下文章