文章目录
一、集合简介:
集合是使用大括号括起来的各种数据,可以看做没有Value 的字典。集合里面的元素不能重复。集合是无序的。
集合最大的用处是去重。例如:把一个元素的列表转换成为集合,在转换回列表,那么列表中将不会再有重复的元素,
- 创建集合:
# 方法一:
a = {1,2,3,4}
#不可以使用{}创建空集合
print(a,type(a))
print('*'*40)
# 方法二:
# 使用set函数创建集合
b =set() # 创建空集合
print(b,type(b))
print('*'*40)
# 使用set将系列和字典可以转换成集合
c =set([1,2,3,4,5])
print(c,type(c))
print('*'*40)
d = set({'a':1,'b':2,'c':3})
# 使用set()将字典转换成集合时,只包含字典中的key值,不包含value值
print(d,type(d))
print('*'*40)
二、集合使用:
1.集合元素检查:
使用in和 not in检查检查集合中元素
#使用in和 not in检查检查集合中元素
s = {'a' , 'b' , 1 , 2 , 3 , 1} #创建集合s
print('a' in s)
# in 在返回True,不在返回False
# not in :在返回False,不在返回True
2.集合长度获取:
# 使用len()来获取集合中元素的数量
# print(len(s))
3.集合添加元素:
##方法一:
# add() 向集合中添加元素
s = {'a','b','c'}
s.add(10)
s.add(30)
#方法二:
# update() 将一个集合中的元素添加到当前集合中
# update()可以传递序列或字典作为参数,字典只会使用键
s2 = set('hello')
s.update(s2)
4.集合删除元素:
方法一:
pop( ) 随机删除一个集合中的元素并返回删除的值
语法:result = s.pop()
方法二:
remove( ) 删除集合中的指定元素
语法:s.remove(100)
方法三:
clear( ) 清空整集合
语法: s.clear()
5.集合浅复制:
三、集合运算:
对集合进行运算时,不会影响原来集合,而返回一个运算结果。
1.集合的交集、并集、差集和异或集运算
# 创建两个集合
s = {1,2,3,4,5}
s2 = {3,4,5,6,7}
# & 交集运算
result = s & s2 # {3, 4, 5}
# | 并集运算
result = s | s2 # {1,2,3,4,5,6,7}
# - 差集
result = s - s2 # {1, 2}
# ^ 异或集 获取只在一个集合中出现的元素
result = s ^ s2 # {1, 2, 6, 7}
2.集合的子集
# <= 检查一个集合是否是另一个集合的子集
# 如果a集合中的元素全部都在b集合中出现,那么a集合就是b集合的子集,b集合是a集合超集
a = {1,2,3}
b = {1,2,3,4,5}
result = a <= b # True
result = {1,2,3} <= {1,2,3} # True
result = {1,2,3,4,5} <= {1,2,3} # False
# < 检查一个集合是否是另一个集合的真子集
# 如果超集b中含有子集a中所有元素,并且b中还有a中没有的元素,则b就是a的真超集,a是b的真子集
result = {1,2,3} < {1,2,3} # False
result = {1,2,3} < {1,2,3,4,5} # True
# >= 检查一个集合是否是另一个的超集
# > 检查一个集合是否是另一个的真超集
print('result =',result)
四、数学补充
1.交集:设A,B是两个集合,由所有属于集合A且属于集合B的元素所组成的集合,叫做集合A与集合B的交集,记作A∩B。
2.并集:把他们所有的元素合并在一起组成的集合,叫做集合A与集合B的并集,记作A∪B
3.异或集:A B两个集合,只存在A中的和只存在B中的元素组成的集合。
4.子集:子集是一个数学概念:如果集合A的任意一个元素都是集合B的元素,那么集合A称为集合B的子集。
5.真子集:如果集合A的任意一个元素都是集合B的元素,且集合A不等于集合B,那么集合A称为集合B的子集。