intersection

set.intersection_update

Updates s in place, keeping only elements found in s AND every given iterable. The method form accepts iterables; &= requires sets.

s.intersection_update(*others)  |  s &= other

Parameters

Parameter Purpose
*others Iterables (method) or sets (operator) to intersect with
returns None — s is mutated

Examples

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

Retains only elements present in both.

>>> s = {1, 2, 3}
>>> s &= {2, 3, 4}
>>> s
{2, 3}

&= augmented assignment form.

>>> s = {1, 2}
>>> s.intersection_update({3, 4})
>>> s
set()

No overlap — s becomes empty.

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

Multiple iterables — must be in ALL of them.

Gotcha

Method form takes iterables; &= requires sets on both sides. To keep the original set intact, use intersection() which returns a new set.

Related methods

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