如何从另一个中删除一组?

sia*_*mii -1 python set

set1 = [1, 3, 5, 7]
set2 = [3, 5]

...
result = [1, 7]
Run Code Online (Sandbox Code Playgroud)

我正在尝试类似的东西

set1.remove(set2)
Run Code Online (Sandbox Code Playgroud)

但它不起作用

Rom*_*net 8

它比这更简单

set1 = set([1, 3, 5, 7])
set2 = set([3, 5])

result = set1 - set2
Run Code Online (Sandbox Code Playgroud)


Mar*_*ers 5

首先使用实际集:

set1 = set([1, 3, 5, 7])
set2 = set([3, 5])
Run Code Online (Sandbox Code Playgroud)

或者,在 python 2.7 或 3 中:

set1 = {1, 3, 5, 7}
set2 = {3, 5}
Run Code Online (Sandbox Code Playgroud)

然后使用.difference_update方法

set1.difference_update(set2)
Run Code Online (Sandbox Code Playgroud)

或进行就地减法:

set1 -= set2
Run Code Online (Sandbox Code Playgroud)

这会发生set1原地突变。如果您只需要查看差异,只需使用减法:

result = set1 - set2
Run Code Online (Sandbox Code Playgroud)