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.
A |= BA.update(B)A.union(B)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}
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.