【小白从小学Python、C、Java】
【Python全国计算机等级考试】
【Python数据分析考试必会题】
● 标题与摘要
Python从集合A中删除集合A与集合B的交集
setA.difference_update()方法
(直接更新setA,无返回值)
● 选择题
输出一个集合调用difference_update()方法的结果是?
具体代码如下:
setA = {1, 2, 3}
setB = {3, 4, 5}
print(setA.difference_update(setB))
A {1, 2}
B {3}
C {1, 2, 3, 4, 5}
D None
● 问题解析
1.快速理解:
集合setA与集合setB中的相同元素(交集)是setC:
1.1.difference_update()方法:从setA中删除setC(setA=setA-setC),没有返回值。
1.2.difference()方法:返回(setA-setC),setA本身不变。
2.difference_update()详解:
2.1.功能:
difference_update()可以从一个集合中移除该集合与另一集合相同的元素,没有返回值。
2.2.语法:setA.difference_update(setB)
2.3.举例:
setA = {1,2,3}
setB = {3,4}
print(setA.difference_update(setB)) # 结果是None
print(setA) # 结果是{1, 2}
3.题目中,setA调用了difference_update()方法,移除了和setB一样的元素3,但是该方法没有返回值,所以输出是None。
● 附图
● 附图代码
● 核心知识和代码:difference_update()和difference()方法的使用与区别
# difference_update()方法的使用
setA = {1,2,3}
setB = {3,4,5}
print(setA.difference_update(setB))
print("实验后的setA:",setA) # 验证“改变setA”实验--(setA = setA - setC)
# difference()方法的使用
setA = {1,2,3}
setB = {3,4,5}
print(setA.difference(setB))
print("实验后的setA:",setA) # 验证“不改变setA”实验
● 扩展知识和代码:交集和并集
# 返回setA和setB的交集
setA = {1,2,3}
setB = {3,4,5}
print(setA.intersection(setB))
# 返回setA和setB的并集
print(setA.union(setB))
● 正确答案
D