Come unire due set in Python

Jinku Hu 30 gennaio 2023
  1. A |= B per unire due set in Python
  2. A.update(B) per unire due set in Python
  3. A.union(B) per unire due set in Python
  4. reduce(operator.or_, [A, B]) per unire due insiemi in Python
Come unire due set in Python

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.

Autore: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

Articolo correlato - Python Set