熟练掌握Python集合的各种方法,这样才能在具体的实践应用中灵活的运用集合实现特定的功能完成你的任务。对于编程入门这件事情,最简单的是理解语法。而最难的是记住每一种数据类型的方法并灵活使用,这需要你长时间的积累和实践。
编辑搜图
请点击输入图片描述(最多18字)
上次我们这学习Python集合中的add、clear和copy三个方法,这次我们来学习difference、difference_update方法如下表所示
方法描述add()为集合添加新元素clear()删除集合中的所有元素copy()拷贝一个集合difference()返回多个集合的差集difference_update()从一个集合中删除另一个集合的所有元素,本质上就是删除两个集合的交集部分
difference方法功能作用
Python集合中difference方法返回两个集合的差集,差集中的元素存在于第一个集合而不在第二个集合中。
difference方法语法:set.difference(*set)
参数:*set 是可变参数,可以传入多个集合,一般都是传入一个集合。返回值:集合的差集。例如:set3 = set1.difference(set2)表示将 set1 中有而 set2 没有的元素给 set3。具体使用如下:
编辑搜图
diff是code_language_1与code_language_2的差集,如果要计算code_language_2与code_language_1差集,则应写成以下形式:
编辑搜图
相信你能够发现它们之间的不同,我们讲完了如何传入一个集合的情况。接下来,给出一个difference方法传入多个集合的例子,具体如下图:
编辑搜图
述(最多18字
将“code_language_2”和“code_language_3”视为一个整体,简而言之,求“code_language_2”和“code_language_3”的交集,然后,用它们的交集与“code_language_1”进行差集计算,因此,结果为“node.js'”
difference_update方法功能作用
Python字典的difference_update方法从一个集合中删除另一个集合的所有元素,本质上就是删除两个集合的交集部分。
与difference方法对比,difference方法返回集合的差集,而difference_update则是从原集合里删除两个集合的交集部分。
difference_update语法:s1.difference_update(s2)
参数:传入集合,如s2是一个集合;
返回值:difference_update 没有返回值,它原地修改集合;
功能:从 s1 中删除与 s2 相同的元素;
实例代码演示如下:
编辑搜图
注意:两个集合做difference_update操作,哪个集合调用这个方法,哪个集合被修改。我们通过一个例子来看看:
编辑搜图
一个是从set2中删除所有set1中的元素,即set2变为空集合。另外一个是从set1中删除所有set2中的元素,即set1集合为{‘python’}。因此,“两个集合做difference_update操作,哪个集合调用这个方法,哪个集合被修改”这句话应该可以理解了。
领取专属 10元无门槛券
私享最新 技术干货