6.set 集合类型

  • set 集合是一个无序且元素不重复的集合数据类型

  • set 集合使用 大括号{} 或者set()方法来定义

  • 如果需要定义一个空集合时,只能使用set()方法,因为大括号时定义的空字典

  • 集合重要用于运算、交集、差集、并集、对称集合

#集合的定义方式

vars = {1,2,3,'a','b',1,2} 
print(vars,type(vars)) #输出结果为 {1, 2, 3, 'b', 'a'} <class 'set'> set:集合
vars = set('123456') 
print(vars,type(vars)) #输出结果为 {'5', '6', '1', '4', '3', '2'} <class 'set'>

#如果需要定义一个空集合时,只能使用set()方法,因为大括号时定义的空字典

vars = {} 
print(vars,type(vars)) #输出结果为 空字典 {} <class 'dict'> dict 字典 

vars = set() 
print(vars,type(vars)) #输出结果为 空集合 set() <class 'set'>

#add 添加元素 , remove 删除元素

a = {1,2,3,'a'} 
a.add('b') #给集合添加元素 
print(a) #输出结果为 {1, 2, 3, 'a', 'b'} 

a.add('a') #无法添加已有的重复元素 
print(a) #输出结果为 {1, 2, 3, 'a', 'b'} 

print(a.discard('a'))#输出结果为 None 
print(a) #输出结果为 {1, 2, 3, 'b'} 注意:'a'已被删除 

a.remove(3) #remove 删除 元素 3 
print(a) #输出结果为 {1, 2, 'b'}

#检查当前的元素是否在集合中

print('a'in a) #'a'为元素 a 为集合 
输出结果为 False 即不在 
print(1 in a) #输出结果为 True 即存在

#集合重要用于运算、交集、差集、并集、对称集合

a = {1,2,3,4,'a','b'} 
b = {1,'a',22,33} 
print(a & b)   # &符号,求的是两个集合的 交集 , 输出结果为 {1, 'a'} 

print(a - b)   # - 减号,求的是差集 ,a有b没有的,输出结果为 {2, 3, 4, 'b'} 
print(a | b)   # | 管道符 ,求的是并集,两个集合都有的并去除重复的,{1, 2, 3, 4, 33, 22, 'a', 'b'} 
print(a ^ b)   # ^ 符号 ,求的是对称差集,把两个集合重复的都去掉一个不留, {33, 2, 3, 4, 'b', 22}

上一篇:Qt 全局变量的使用 转


下一篇:Thinkphp5未开启强制路由导致的RCE 漏洞复现与分析