HOWTO · Python

Come unire due set in Python

Questo articolo tutorial introduce come unire due set in Python.

In questa pagina

In questo tutorial, introdurremo diversi metodi per unire due set in Python.

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

A |= B per unire due set in Python

A |= B aggiunge tutti gli elementi del set B al set A.

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

A.update(B) per unire due set in Python

Il metodo A.update(B) è identico a A |= B. Esso modifica l’impostazione di A in posizione.

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

A.union(B) per unire due set in Python

A.union(B) restituisce l’unione dei set A e B. Non modifica il set A in posizione, ma restituisce un nuovo set.

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

È identico a A | B.

reduce(operator.or_, [A, B]) per unire due insiemi in Python

operator.or_(A, B) restituisce il bitwiser o di A e B, o l’unione di insiemi.
A e B se A e B sono impostate.

reduce in Python 2.x o [functools.reduce in entrambi Python 2.x e 3.x applica la funzione alle voci di iterabili.

Pertanto, reduce(operator.or_, [A, B]) applica la funzione o alle voci A e B. È l’identica all’espressione 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}
Attenzione

reduce è la funzione incorporata in Python 2.x, ma è deprecata in Python 3.

Pertanto, dobbiamo usare functools.reduce per rendere i codici compatibili in Python 2 e 3.