Guida a Python - Corso base - Capitolo 4: tipi di dati: insiemi
Capitolo 4: Tipi di dati: insiemi.
Gli insiemi ("set") sono gruppi di elementi indicizzati che non contengono duplicati (eventuali duplicati inseriti in fase di creazione verranno ignorati da Python, che inserirà solo una copia).
Vengono creati mediante la funzione set(elemento):
>>> mioInsieme = set(['ciao', 'come', 'stai']) >>> mioInsieme set(['ciao', 'come', 'stai']) >>> mioInsieme2 = set(['ciao', 'bene', 'grazie'])
Le operazioni effettuabili sugli insiemi matematici (unione, differenza, intersezione, xor) per generare nuovi insiemi possono essere effettuate anche sui set di Python:
- l'unione viene implementata mediante il simbolo | (in pratica, è un OR):
>>> insiemeUnione = mioInsieme | mioInsieme2 >>> insiemeUnione set(['grazie', 'bene', 'ciao', 'come', 'stai'])
- la differenza viene implementata mediante il simbolo - :
>>> insiemeDifferenza= mioInsieme - mioInsieme2 >>> insiemeDifferenza set(['come', 'stai'])
- l'intersezione viene implementata mediante il simbolo & (in pratica, è un AND):
>>> insiemeIntersezione = mioInsieme & mioInsieme2 >>> insiemeIntersezione set(['ciao'])
- infine, abbiamo lo XOR, implementato mediante il simbolo ^ :
>>> insiemeXOR = mioInsieme ^ mioInsieme2 >>> insiemeXOR set(['come', 'grazie', 'bene', 'stai'])
Negli esempi precedenti ho utilizzato delle sequenze (liste) di elementi (racchiuse tra le parentesi quadre [ ] e separate da virgole), ma l'argomento di set può essere un elemento qualsiasi, con esiti differenti; passando, ad esempio, una stringa, essa verrà scomposta nelle lettere che la formano, ma attenzione: set NON considera i duplicati, per cui potrebbe verificarsi una situazione del genere:
>>> insiemeDaStringa = set("ciao come stai") >>> insiemeDaStringa set(['a', ' ', 'c', 'e', 'i', 'm', 'o', 's', 't'])
|