Indice
I Set
Veniamo ai set, i set sono insiemi di elementi unici non ordinati, questo vuol dire che un set non può contenere due volte lo stesso elemento e che non tiene conto della disposizione degli elementi al suo interno.
Possiamo creare un set inserendo gli elementi tra parentesi graffe e separandoli con una virgola:
my_set = {1,2,2,3,4,5,5}
print(my_set)
print(type(my_set))
Output:
{1, 2, 3, 4, 5}
<class ‘set’>
Come vedi gli elementi duplicati sono stati rimossi. Vediamo alcune funzioni utili per lavorare con i set.
# creiamo un set di nomi di persona
names = {“Giuseppe”,”Federico”,”Antonio”,”Matteo”}
print(names)# aggiungiamo un elemento al set
names.add(“Lorenzo”)
print(names)# se il nome è già presente, non verrà aggiunto
names.add(“Federico”)
print(names)# rimuoviamo un nome
names.remove(“Antonio”)
print(names)# se il nome non è presente otterremo un’eccezione KeyError
# in tal caso possiamo piuttosto usare discard
names.discard(“Paolo”)
print(names)# estraiamo un elemento dal set
name = names.pop()
print(name)
print(names)# svuoitamo il set
names.clear()
print(names)
Output:
{‘Federico’, ‘Giuseppe’, ‘Matteo’, ‘Antonio’}
{‘Giuseppe’, ‘Matteo’, ‘Federico’, ‘Lorenzo’, ‘Antonio’}
{‘Giuseppe’, ‘Matteo’, ‘Federico’, ‘Lorenzo’, ‘Antonio’}
{‘Giuseppe’, ‘Matteo’, ‘Federico’, ‘Lorenzo’}
{‘Giuseppe’, ‘Matteo’, ‘Federico’, ‘Lorenzo’}
Giuseppe
{‘Matteo’, ‘Federico’, ‘Lorenzo’}
set()
Possiamo convertire una lista in un set e vice versa utilizzando il casting.
NOTA BENE
convertendo una lista in un set, gli elementi al suo interno verrano mischiati e i duplicati verranno rimossi.
my_list = [“Giuseppe”,”Federico”,”Giuseppe”,”Antonio”,”Matteo”,”Matteo”]
print(my_list)
print(type(my_list))my_set = set(my_list)
print(my_set)
print(type(my_set))my_list = list(my_set)
print(my_list)
print(type(my_list))
Output:
[‘Giuseppe’, ‘Federico’, ‘Giuseppe’, ‘Antonio’, ‘Matteo’, ‘Matteo’]
<class ‘list’>
{‘Federico’, ‘Giuseppe’, ‘Matteo’, ‘Antonio’}
<class ‘set’>
[‘Federico’, ‘Giuseppe’, ‘Matteo’, ‘Antonio’]
<class ‘list’>
Possiamo anche creare un set immutabile utilizzando frozenset, in questo caso una volta creato non potremo più aggiungere o rimuovere elementi dal set.
names = frozenset({“Giuseppe”,”Federico”,”Antonio”,”Matteo”})
print(names)
Output:
frozenset({‘Federico’, ‘Giuseppe’, ‘Matteo’, ‘Antonio’})
Dizionari
Un dizionario è un tipo Python che ci permette di salvare dei dati in un formato chiave valore, in maniera tale da poter utilizzare la chiave per accedere al valore. Possiamo creare un dizionario con Python racchiudendolo tra parentesi graffe e separando chiavi e valori con (:)
# Creiamo un dizionario con una lista della spesa
# specificando cosa comprare come chiave e la quantità come valore
items = {“latte”:3,”riso”: 2, “tofu”:5}
type(items)
Output:
dict
Possiamo accedere ad un elemento del dizionario inserendo la chiave tra parentesi quadre
items[“tofu”]
Output:
5
Se la chiave è inesistente otterremo un’eccezione di tipo KeyError.
items[“cereali”]
Output:
Possiamo aggiungere un’altro elemento al dizionario semplicemente inserendo la chiave tra parentesi quadre ed eseguendo un’assegnazione:
items[“cereali”]=1
print(items)
Output:
{‘latte’: 3, ‘riso’: 2, ‘tofu’: 5, ‘cereali’: 1}
E’ possibile inserire all’interno di un elemento del dizionario un’altro dizionario.
items[“yogurt”] = {“fragola”:2, “bianco”:3}
print(items)
Output:
{‘latte’: 3, ‘riso’: 2, ‘tofu’: 5, ‘cereali’: 1, ‘yogurt’: {‘fragola’: 2, ‘bianco’: 3}}
Python: Gli input e gli output
Python: le variabili
(291)