HOWTO · Python

How to join two sets in Python

This tutorial article introduces how to join two sets in Python.

Sur cette page

Dans ce didacticiel, nous allons introduire différentes méthodes pour joindre deux ensembles en Python.

  1. A |= B
  2. A.update(B)
  3. A.union(B)
  4. reduce(operator.or_, [A, B])

A |= B pour joindre deux ensembles en Python

A |= B ajoute tous les éléments de l’ensemble B à l’ensemble A.

>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A |= B
>>> A
{4, 5, 6, 7, 8, 9}

A.update(B) pour joindre deux ensembles en Python

La méthode A.update(B) est identique à A |= B. Il modifie le A en place.

>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]

A.union(B) pour joindre deux ensembles en Python

A.union(B) retourne l’union des ensembles A et B. Il ne modifie pas l’ensemble A en place mais retourne un nouvel ensemble.

>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A.union(B)
{1, 2, 3, 4, 5, 6}
>>> A
{1, 2, 3, 4}

Il est identique à A | B.

reduce(operator.or_, [A, B]) pour joindre deux ensembles en Python

operator.or_(A, B) retourne le bitwiser ou de A et B, ou l’union d’ensembles A et B si A et B sont des ensembles.

reduce en Python 2.x ou functools.reduce en Python 2.x et 3.x applique la fonction aux éléments de l’itérable.

Par conséquent, reduce(operator.or_, [A, B]) applique la fonction ou à A et B. Il est identique à l’expression Python A | B

>>> import operator
>>> from functools import reduce
>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> reduce(operator.or_, [A, B])
{4, 5, 6, 7, 8, 9}
Attention

reduce est la fonction intégrée dans Python 2.x, mais est déconseillée dans Python 3.

Par conséquent, nous devons utiliser functools.reduce pour rendre les codes compatibles en Python 2 et 3.