Python Set Difference的完整指南

904 阅读2分钟

Python集合支持四个伟大的操作:

  1. 交叉:两个集合有共同的元素
  2. 联合:两个集合中的所有元素
  3. 差异:一个集合中存在的元素,而另一个集合中没有
  4. 对称的差异:两个集合中的元素都不存在于另一个集合中

为了更好地理解,请看下面的图片:

Python Set Difference() Method

这里, A 包含{a,b,c,d,e}, B 包含{a,e,f,g}。所以 A-B={b,c,d}, B-A={f,g}

Python 集合差分

Python set difference()是一个内置 函数 ,可以帮助我们找到两个集合之间的差异。 它的工作原理类似于数学上的相交 (A∩B)。这意味着,如果A和B是两个集合,那么它们的差值将是。

A-B = A-(A∩B)

B-A = B-(A∩B)

difference()方法返回两个集合的集合差。如果A和B是两个集合。A和B之间的集合之差是只存在于集合A中而不存在于B中的元素的集合。

语法

First_Set.difference(Second_Set)

上面的语法将帮助我们找到 First_Set-Second_Set之间的差异

因此,如果我们想找到 A-B, 语法将是如下:

A.difference(B)

返回值

difference()函数返回两个给定集合的差值,而不改变原始集合。这意味着它返回一个新的集合。

编程实例

请看下面的代码示例:

# app.py

# Declaring two sets
A = {'a', 'b', 'c', 'd', 'e'}
B = {'a', 'e', 'f', 'g'}

# Now we will apply difference() to find

# A-B
print("Difference between A-B is: ", A.difference(B))
# B-A
print("Difference between B-A is: ", B.difference(A))

输出

Difference between A-B is:  {'c', 'b', 'd'}
Difference between B-A is:  {'g', 'f'}

在这个例子中,我们声明了两个集合,A和B,然后我们用difference()方法找到这两个集合的差。

使用减号(-)运算符

请看下面的代码:

# app.py

# Declaring two sets
A = {'a', 'b', 'c', 'd', 'e'}
B = {'a', 'e', 'f', 'g'}

# Now we will apply the minus operator to find

# A-B
print("Difference between A-B is: ", A-B)
# B-A
print("Difference between B-A is: ", B-A)

输出

Difference between A-B is:  {'d', 'c', 'b'}
Difference between B-A is:  {'g', 'f'}

在这个例子中,我们声明了两个集合,A和B,然后我们使用减号运算符(-)来找到这两个集合之间的差。

原来的集合没有改变,它保持不变。

在Python中两个集合的差值等于两个集合中元素数量的差。

本教程就到此为止。

参见

Python 集合 add()

Python set clear()

Python set copy()