How to join two sets in Python
-
A |= B
pour joindre deux ensembles en Python -
A.update(B)
pour joindre deux ensembles en Python -
A.union(B)
pour joindre deux ensembles en Python -
reduce(operator.or_, [A, B])
pour joindre deux ensembles en Python
Dans ce didacticiel, nous allons introduire différentes méthodes pour joindre deux ensembles en Python.
A |= B
A.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.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook