python中集合的相关操作

本文详细介绍了Python集合的删除、添加元素的方法,包括remove、discard、pop和clear等,并展示了集合的并集、交集、差集和对称差集的运算。同时,还演示了如何判断集合的交集是否为空以及如何判断一个集合是否为另一个的子集或父集。通过实例代码,帮助读者深入理解Python集合操作。
摘要由CSDN通过智能技术生成

有疑惑的地方可以自己动手实践,去尝试,只有自己动手实践才能更高地掌握!

set1={'hello','kiki','morning','good','sun'}

set2={'hello','good','sun','world'}

1. 删除元素

'''
删除元素:
1. set_name.remove(element):删除指定元素,如果在集合中不存在该元素,则报错KeyError
2. set_name.discard(element):删除指定元素,如果在集合中不存在该元素,则不做任何事情,不报错
2. set_name.pop():随机删除一个元素(因此就算是相同的代码删除的元素也不一样)
3. set_name.clear():清空集合中的元素
4. del set_name:不能删除集合中的单个元素,只能将整个集合从内存中完全删除
'''
set2.remove('hello')
print(set2)         # {'sun', 'world', 'good'}
set2.discard('world')
print(set2)         # {'sun', 'good'}
set2.pop()
print(set2)         # {'good'}
set2.clear()
print(set2)         # set()
del set2

2. 添加元素

'''
添加元素:
set_name.add()
'''
set2 = set()  # 创建空集合
set2.add('world')
set2.add('hello')
set2.add('sun')
print(set2)  # {'sun', 'world', 'hello'}

3. 集合相关运算

并集: 

'''
A∪B:
set1_name.union(set2_name):需要另一个集合变量来接收,原集合不变
set1_name.update(set2_name):直接在set1上进行操作
set1_name|set2_name:需要另一个集合变量来接收,原集合不变
'''
set3 = set1.union(set2)
print(set3)  # {'sun', 'morning', 'kiki', 'world', 'hello', 'good'}
set1.update(set2)
print(set1)  # {'sun', 'good', 'kiki', 'morning', 'world', 'hello'}
print(set1 | set2)  # {'sun', 'good', 'kiki', 'morning', 'world', 'hello'}

交集:

'''
A∩B:
set1_name.intersection(set2_name):需要另一个集合变量来接收,原集合不变
set1_name.intersection_update(set2_name):直接在set1上进行操作
set1_name & set2_name:需要另一个集合变量来接收,原集合不变
'''
set3=set1.intersection(set2)
print(set3)  # {'sun', 'hello'}
set1.intersection_update(set2)
print(set1)  # {'sun', 'hello'}
print(set1 & set2)  # {'sun', 'hello'}

差集:

'''
A-B:
set1_name.difference(set2_name):得到的是在set1中有、在set2中没有的元素,需要另外一个集合变量来接收,原集合不变
set1_name.difference_update(set2_name):直接在set1上进行操作
set1_name - set2_name:需要另外一个集合变量来接收,原集合不变
'''
set3=set1.difference(set2)
print(set3)  # {'morning', 'kiki', 'good'}
set1.difference_update(set2)
print(set1)  # {'morning', 'kiki', 'good'}
print(set1 - set2)  # {'good', 'morning', 'kiki'}

并集-交集:

'''
A∪B-A∩B:
set1_name.symmetric_difference(set2_name):需要另一个集合变量来接收,原集合不变
set1_name.symmetric_difference_update(set2_name):直接在set1上进行操作
'''
set3=set1.symmetric_difference(set2)
print(set3)  # {'world', 'kiki', 'morning', 'good'}
set1.symmetric_difference_update(set2)
print(set1)  # {'world', 'kiki', 'morning', 'good'}

判断交集是否为空:

# 判断set1和set2的交集是否为空
print(set1.isdisjoint(set2))  # False

判断是否为子集、父集:

set3 = {'hello', 'sun'}

# 判断set3是否是set1的子集
print(set3.issubset(set1))  # True

# 判断set1是否是set3的父集
print(set1.issuperset(set3))  # True

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值