python 集合 difference_update()
函数用于求当前集合和另外一个集合的不同,并将结果赋给当前集合,而difference()函数是返回一个新的集合。
其实 difference_update()
函数也就是求两个或多个集合的差集。
没有返回值,修改当前集合的内部元素,其中的元素是当前集合有,而另外一个或多个集合没有。
上面的图示中,左侧为所求的结果集。
语法
语法如下:set.difference_update(*other_set)
参数
- other_set:另外的一个或多个集合。
返回值
没有返回值,修改当前集合,其中的元素是当前集合有,而另外一个集合没有。
程序示例
介绍一些例子,了解set.difference_update()
函数的使用方法。
例1
#!/usr/bin/python
# coding=utf-8
nums1 = {1, 2, 2, 3, 4, 5}
nums2 = {4, 5, 6, 7, 8, 8}
nums1.difference_update(nums2)
print("nums1有nums2没有: ", nums1)
nums1 = {1, 2, 2, 3, 4, 5}
nums2 = {4, 5, 6, 7, 8, 8}
nums2.difference_update(nums1)
print("nums2有nums1没有: ", nums2)
程序运行结果:
nums1有nums2没有: {1, 2, 3}
nums2有nums1没有: {6, 7, 8}
nums2有nums1没有: {6, 7, 8}
上面的例子中,处理的集合是唯一的,没有重复。
例2
下面给出一个字符串的例子。
#!/usr/bin/python
# coding=utf-8
siteList1 = {'yxjc123.com','taobao.com','baidu.com','qq.com','jd.com'}
siteList2 = {'sohu.com','jd.com','baidu.com'}
siteList1.difference_update(siteList2)
print("siteList1有siteList2没有: ", siteList1)
siteList1 = {'yxjc123.com','taobao.com','baidu.com','qq.com','jd.com'}
siteList2 = {'sohu.com','jd.com','baidu.com'}
siteList2.difference_update(siteList1)
print("siteList2有siteList1没有: ", siteList2)
程序运行结果.:siteList1有siteList2没有: {'qq.com', 'taobao.com', 'yxjc123.com'}
siteList2有siteList1没有: {'sohu.com'}
siteList2有siteList1没有: {'sohu.com'}
例3
多个集合比较的例子。
#!/usr/bin/python
# coding=utf-8
nums1 = {1, 2, 2, 3, 4, 5}
nums2 = {4, 5, 6, 7, 8, 8}
nums3 = { 3, 5, 8, 9, 10}
nums1.difference_update(nums2, nums3) # 处理的结果是nums1有,nums2和nums3没有
print(nums1)
程序运行结果:
{1, 2}