difference

set.difference_update

Removes from s in place every element found in any of the given iterables. Method form accepts iterables; -= requires sets.

s.difference_update(*others)  |  s -= other

Parameters

Parameter Purpose
*others Iterables (method) or sets (operator) whose elements to remove
returns None — s is mutated

Examples

>>> s = {1, 2, 3, 4}
>>> s.difference_update([2, 4])
>>> s
{1, 3}

Removes shared elements.

>>> s = {1, 2, 3}
>>> s -= {2}
>>> s
{1, 3}

-= augmented assignment form.

>>> s = {1, 2, 3}
>>> s.difference_update([1], [2])
>>> s
{3}

Multiple iterables are all subtracted.

>>> s = {1, 2}
>>> s.difference_update([9])
>>> s
{1, 2}

Absent elements are ignored silently.

Gotcha

Missing elements are ignored silently — no KeyError. -= requires a set on the right side; use the method for iterables.

Related methods

← All Python set methods · List methods · list vs tuple vs set