📜  Python 集合set | symmetric_difference

📅  最后修改于: 2020-07-19 04:59:31             🧑  作者: Mango

Python Set的此内置函数有助于我们获取两个集合之间的对称差,该差等于两个集合中任集合中存在元素,但并非这两个集合共有。让我们看一下两个集合之间symmetric_difference的维恩图。

对称差异标记为绿色

如果存在set_A和set_B,则它们之间的对称差将等于set_A和set_B的并集,而两者之间没有交集。

接收一个必须为集合的参数,并返回一个新集合,该集合为两个集合之间的对称差。

例子:

输入: set_A = {1, 2, 3, 4, 5}
       set_B = {6, 7, 3, 9, 4}
输出 :  {1, 2, 5, 6, 7, 9}
说明:公用元素{3,4}
从输出中丢弃。

输入:
set_A = {"ram", "rahim", "ajay", "rishav", "aakash"}
set_B = {"aakash", "ajay", "shyam", "ram", "ravi"}
输出: {"rahim", "rishav", "shyam", "ravi"}

说明:常见元素{“ ram",“ ajay",
“ aakash"}从最终集合中被丢弃

在此程序中,我们将尝试找出两组之间的对称差:

# Python代码使用symmetric_difference()方法 
  
set_A = {1, 2, 3, 4, 5} 
set_B = {6, 7, 3, 9, 4} 
print(set_A.symmetric_difference(set_B)) 

输出:

{1,2,5,6,7,9}

还有另一种方法,通过使用运算符“ ^ ” 来获得两组之间的对称差。
例:

# Python代码使用^运算符查找对称差异. 
  
# 测试代码 
set_A = {"ram", "rahim", "ajay", "rishav", "aakash"} 
set_B = {"aakash", "ajay", "shyam", "ram", "ravi"} 
print(set_A ^ set_B)

输出:

{'shyam','ravi','rahim','rishav'}

代码2:

# 使用symmetric_difference()方法的另一示例Python代码 
  
A = {'p', 'a', 'w', 'a', 'n'} 
B = {'r', 'a', 'o', 'n', 'e'} 
C = {} 
  
print(A.symmetric_difference(B)) 
print(B.symmetric_difference(A)) 
  
print(A.symmetric_difference(C)) 
print(B.symmetric_difference(C)) 
  

输出:

set(['e', 'o', 'p', 'r', 'w'])
set(['e', 'o', 'p', 'r', 'w'])
set(['a', 'p', 'w', 'n'])
set(['a', 'r', 'e', 'o', 'n'])