Python: I Set ed i Dizionari

Cerca nel sito

Altri risultati..

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Python- le variabili


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:

python errore dizionario

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

Python: le liste e le tuple

 

 

(291)

Ti potrebbe interessare anche:  Python esercizi svolti su stringhe, file, dizionari