set集合
集合定义与使用
集合定义
--无序的唯一对象集合
--用大括号{}包围,对象相互之间使用逗号分隔
--集合是动态的,可以随时添加或删除元素
--集合是异构的,可以包含不同类型的数据
集合使用:创建
创建
--通过使用{}填充元素
--通过构造方法set()
--通过集合推导式
# 集合使用:创建
# 创建
# --通过使用{}填充元素
a = {1, 2, 3}
print(type(a), a)
# --通过构造方法set()
b = set("1")
print(type(b), b)
c = [1, 2, 3, "happy"]
d = set(c)
print(type(d), d)
# --通过集合推导式
e = {i for i in c}
print(type(e), e)
# --注意:不可传空{}来定义集合,会得到字典类型
f = {}
print(type(f))
集合使用:成员检测
in:判断元素是否在集合中存在
not in :判断元素是否在集合中不存在
# 集合使用:成员检测
# in:判断元素是否在集合中存在
# not in :判断元素是否在集合中不存在
a = {1, 2, 3, 4, 5}
print(1 in a)
print(6 in a)
print(2 not in a)
print(6 not in a)
集合常用方法
add()
add(item):将单个对象添加到集合中
入参:对象item
返回:None
# add()
# add(item):将单个对象添加到集合中
# 入参:对象item
# 返回:None
a = {1, 2, 3}
a.add(4)
print(a)
update()
update(iterable)
批量添加来自可迭代对象中的所有元素
入参:可迭代对象tierable
返回:None
# update()
# update(iterable)
# 批量添加来自可迭代对象中的所有元素
# 入参:可迭代对象iterable
# 返回:None
a = {1, 2, 3}
a.update("happy")
print(a)
remove()
remove(item):从几个中移除指定元素item
入参:指定元素值
返回:None
如果item不存在与集合中则会引发KeyError
# remove()
# remove(item):从几个中移除指定元素item
# 入参:指定元素值
# 返回:None
# 如果item不存在与集合中则会引发KeyError
a = {1, 2, 3, 4}
a.remove(1)
print(a)
discard()
discard(item):从集合中移除指定对象item
入参:指定对象值
返回:None
元素item不存在没印象,不会抛出KeyError错误
# discard()
# discard(item):从集合中移除指定对象item
# 入参:指定对象值
# 返回:None
# 元素item不存在没印象,不会抛出KeyError错误
a = {1, 2, 3, "happy"}
a.discard(2)
print(a)
pop()
pop():随机从集合中移除并返回一个元素
入参:无
返回:被移除的元素
如果集合为空则会引发KeyError错误
# pop()
# pop():随机从集合中移除并返回一个元素
# 入参:无
# 返回:被移除的元素
# 如果集合为空则会引发KeyError错误
a = {1, 2, 3, 4, "happy"}
print(a.pop())
print(a)
clear()
clear():清空集合,移除所有元素
入参:无
返回:None
# clear()
# clear():清空集合,移除所有元素
# 入参:无
# 返回:None
a = {1, 2, 3, "happy"}
a.clear()
print(a)
集合运算
交集运算
intersection()
操作符:&
# 交集运算
# intersection()
# 操作符:&
a = {1, 2, 3}
b = {2, 3, 4}
print(a.intersection(b))
print(a & b)
并集运算
union()
操作符:|
# 并集运算
# union()
# 操作符:|
a = {1, 2, 3}
b = {2, 3, 4, 5}
print(a.union(b))
print(a | b)
差集运算
difference()
操作符:-
# 差集运算
# difference()
# 操作符:-
a = {1, 2, 3, 4}
b = {2, 3, 4, 5}
print(a.difference(b))
print(a - b)
print(b.difference(a))
print(b - a)
集合推导式
类似列表推导式,同时集合支持集合推导式
语法:{i for i in ... if ...}
# 集合推导式
# 类似列表推导式,同时集合支持集合推导式
# 语法:{i for i in ... if ...}
a = {i for i in [1, 2, 3, 4] if i % 2 == 0}
print(a)