说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
在 Python 中,difference() 方法用于返回一个集合与另一个集合之间的差集,即返回一个包含只出现在第一个集合中而不在第二个集合中的元素的新集合。
使用方法如:
difference(*others) # 支持多个集合
set - other - ...
返回一个新集合,其中包含原集合中在 others 指定的其他集合中不存在的元素。
set 和 frozenset 的实例都支持本操作。
注意, union() 、 intersection() 、 difference() 、 symmetric_difference() 、 issubset() 和 issuperset() 方法的非运算符版本可以接受任何可迭代对象作为一个参数。相比之下,基于运算符的对应方法则要求参数为集合对象。这就避开了像 set('abc') & 'cbs' 这样容易出错的结构,而换成了可读性更好的 set('abc').intersection('cbs')。
以下是一个示例:
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5}
# 使用 difference() 方法获取两个集合的差集
difference_set = set1.difference(set2)
set1 - set2 # 效果同上
print(difference_set) # 输出 {1, 2}
在上述示例中,difference() 方法将 set1 和 set2 的差集存储在 difference_set 变量中。最终输出的差集是 {1, 2},因为这些元素只出现在 set1 中而不在 set2 中。
difference() 方法也可以接受多个集合作为参数,并返回第一个集合与其他所有集合之间的差集:
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5}
set3 = {4, 5, 6}
# 使用 difference() 方法获取多个集合的差集
difference_set = set1.difference(set2, set3)
set1 - set2 - set3 # 效果同上
print(difference_set) # 输出 {1, 2}
在这个示例中,difference() 方法接受了 set2 和 set3 两个集合,并返回它们的差集,即仅包含在 set1 中而不在其他集合中的元素。
更新时间:2024-03-14 15:02:22 标签:python 集合 差集