在Python中,您可以使用它a.intersection(b)来查找两个集合共有的项目.
有没有办法做这个不相交的相反版本?这是不常见的两个项目a和b; 与独特物品a结合的独特物品b?
Mar*_*ers 86
你正在寻找对称的差异 ; 所有仅出现在集合a或集合b中的元素,但不是两者:
a.symmetric_difference(b)
Run Code Online (Sandbox Code Playgroud)
从set.symmetric_difference()方法文档:
返回一个新集合,其中包含集合中的元素或其他元素,但不是两者.
您可以使用^运营商也一样,如果两个a和b是集:
a ^ b
Run Code Online (Sandbox Code Playgroud)
while set.symmetric_difference()为另一个参数采用任何迭代.
输出相当于(a | b) - (a & b)两个集合的并集减去两个集合的交集.
小智 7
a={1,2,4,5,6}
b={5,6,4,9}
c=(a^b)&b
print(c) # you got {9}
Run Code Online (Sandbox Code Playgroud)