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
set.difference
Returns a NEW set with elements from s that are NOT in any of the arguments. Method form takes iterables; - requires sets.
set.update
Adds every element from each iterable argument to s in place. Equivalent to a union but mutates s instead of returning a new set.
set.intersection_update
Updates s in place, keeping only elements found in s AND every given iterable. The method form accepts iterables; &= requires sets.
set.symmetric_difference
Returns a NEW set with elements in EITHER s or other but not both. Method form takes exactly one iterable; ^ requires a set.
← All Python set methods · List methods · list vs tuple vs set