Python Set symmetric_difference() 方法
symmetric_difference() 方法可以用来找到两个集合的对称差。
symmetric_difference() 方法返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。
语法
symmetric_difference() 方法语法:
set.symmetric_difference(set)
参数
- set -- 集合
返回值
返回一个新的集合。
实例
返回两个集合组成的新集合,但会移除两个集合的重复元素:
实例 1
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
z = x.symmetric_difference(y)
print(z)
输出结果为:
{'google', 'cherry', 'banana', 'runoob'}
你还可以使用 ^ 运算符来实现相同的效果:
实例
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
result = set1 ^ set2
print(result) # 输出: {1, 2, 5, 6}
set2 = {3, 4, 5, 6}
result = set1 ^ set2
print(result) # 输出: {1, 2, 5, 6}
输出结果为:
{1, 2, 5, 6}
麦兜
are***[email protected]
这个用 ^ 比较好记,这个是好像是叫对称差集:
麦兜
are***[email protected]
vipkwd
ser***[email protected]
一楼麦兜那个方法挺棒,但我这种没文化的人(对称差集早忘干净了)是叫它“左右差集”:即返回左差集+右差集。
左右差集:移除两个集合中的并集,以新集合形式返回左右差集和。
tips: 有多少人是把 “ 集合”的 “集”,右上四横写成三横的?
vipkwd
ser***[email protected]
樱小路才华
323***[email protected]
补充一楼的方法:与网站前面的 intersection() 和 union() 类似都可以使用逻辑符号表示(& 和 |),不过逻辑符号和内置方法有一定细微上的差异:
如上所示 symmetric_difference()、 intersection() 和 union() 类似内置方法是可以支持不同数据类型的数据进行逻辑操作,如果使用逻辑符号 ^ & | 可以在同类型数据间使用,在数据类型不同时就会出现报错问题。
多记一些内置方法也是可能解决更多可能出现的问题。
樱小路才华
323***[email protected]