
Gli insiemi disgiunti in Python
In questa lezione ti spiego come verificare se due insiemi sono disgiunti utilizzando il linguaggio Python.
Cosa sono due insiemi disgiunti? Due insiemi sono detti insiemi disgiunti se non hanno alcun elemento in comune. In altre parole, se due insiemi A e B sono disgiunti, l'intersezione tra di essi deve essere vuota. $$ A \cap B = Ø $$
Un modo rapido per verificare se due insiemi sono disgiunti è il metodo isdisjoint()
A.isdisjoint(B)
Dove A e B sono due variabili di tipo set che contengono due insiemi diversi.
Ti faccio un esempio pratico.
Crea due insiemi nelle variabili A e B
>>> A = {1, 2, 3, 4}
>>> B = {5, 6, 7, 8}
Poi utilizza il metodo isdisjoint() per controllare se sono disgiunti oppure no
>>> A.isdisjoint(B)
Il metodo risponde True (vero) perché gli insiemi sono insiemi disgiunti in quanto non hanno elementi in comune.
True
C'è anche un altro modo per controllare se due insiemi sono disgiunti.
Due insiemi sono disgiunti se la loro intersezione è un insieme vuoto.
$$ A \cap B = Ø $$
Ecco un esempio di codice Python che verifica se due insiemi sono disgiunti in base alla cardinalità della loro intersezione.
- A = {1, 2, 3, 4}
- B = {5, 6, 7, 8}
- # Verificare se sono disgiunti
- if len(A.intersection(B)) == 0:
- print("I due insiemi sono disgiunti")
- else:
- print("I due insiemi non sono disgiunti")
Questo codice inizializza due insiemi nelle variabili A e B.
Poi utilizza il metodo intersection() per calcolare l'intersezione tra i due insiemi e il metodo len() per verificare se l'intersezione è vuota.
Nota. Nel linguaggio Python per calcolare l'intersezione di due insiemi si utilizza il metodo intersection() e per verificare se un insieme è vuoto si utilizza il metodo len().
Infine, il codice utilizza un'istruzione if per controllare se la lunghezza dell'intersezione è uguale a zero, e se è così, stampa un messaggio che dice che i due insiemi sono disgiunti.
Un codice alternativo
In alternativa puoi scrivere il codice Python anche in questo modo
- A = {1, 2, 3, 4}
- B = {5, 6, 7, 8}
- # Verificare se sono disgiunti
- if not A.intersection(B):
- print("I due insiemi sono disgiunti")
- else:
- print("I due insiemi non sono disgiunti")
Questo codice utilizza l'operatore not per verificare se l'intersezione tra i due insiemi è vuota, senza usare la funzione len() per controllare la lunghezza dell'intersezione.
- Se l'intersezione è vuota, l'operatore not diventa True e il programma stampa sullo schermo il messaggio "I due insiemi sono disgiunti".
- Se l'intersezione non è vuota, l'operatore not diventa False e il programma stampa il messaggio "I due insiemi non sono disgiunti"
Tutti questi metodi ti permettono di verificare la disgiunzione tra due insiemi.