Algoritmi e strumenti avanzati di Python
Nel percorso C++ questa parte richiama la STL.
In Python non esiste una STL con lo stesso nome, ma esistono tanti strumenti già pronti e molto potenti.
Funzioni built-in utili
Python mette a disposizione funzioni comodissime:
numeri = [4, 7, 1, 9]
print(len(numeri))
print(max(numeri))
print(min(numeri))
print(sum(numeri))
print(sorted(numeri))
Iterare con enumerate
frutti = ["mela", "banana", "pera"]
for indice, frutto in enumerate(frutti):
print(indice, frutto)
Iterare in parallelo con zip
nomi = ["Luca", "Anna", "Marco"]
voti = [7, 9, 8]
for nome, voto in zip(nomi, voti):
print(nome, voto)
Ordinamenti con chiave
parole = ["albero", "sole", "programmazione", "ciao"]
ordinate = sorted(parole, key=len)
print(ordinate)
Un’idea importante
Un buon programmatore non riscrive sempre tutto da zero.
Capisce:
- quale problema ha davanti;
- quali strumenti esistono già;
- quando usare una soluzione pronta e quando costruirla da sé.
Ricapitoliamo
- Python ha molte funzioni built-in utili;
sorted(),enumerate()ezip()sono strumenti super importanti;- conoscere gli strumenti del linguaggio permette di scrivere soluzioni migliori;
- prima si capisce la logica, poi si sfruttano gli strumenti già disponibili.