16 aprile 2013

Comprensione di lista



Nel titolo non mi sto riferendo alla comprensione di UNA lista, ma a quello che viene definito in inglese list comprehension cioè la possibilità di creare una lista basandosi su altre liste. Come sempre un paio di esempi chiariranno molto meglio il concetto:

1. lista = [1, 5 , 7, 8]
2. result = [i*5 for i in lista]
3. print result


output: [5, 25, 35, 40]
Come facilmente si capisce result non è altro che il risultato della manipolazione della lista originale, chiamata con molta fantasia lista, alla quale viene applicata una semplice moltiplicazione *5 di ogni oggetto presente in lista.

Ovviamente potrei mettere altra carne al fuoco e moltiplicare *5 solo i valori superiori a 5 della nostra lista. Ancora una volta è un'operazione semplicissima:
1. lista = [1, 5 , 7, 8]
2. result = [i*5 for i in lista if i>5]
3. print result


output: [35, 40]
Come si vede ora solo i valori 7 e 8 sono stati moltiplicati *5, facile ed efficace.

Prima ho definito come la list comprehension la possibilità di creare una lista basandosi su altre liste, ma anche una stringa può essere presa in considerazione come punto di partenza.
1. word = "parola"
2. result = [lettera for lettera in word]
3. print result


output: ['p', 'a', 'r', 'o', 'l', 'a']
Semplice, elegante e soprattutto molto utile.

15 aprile 2013

La migliore invenzione del mondo dopo la ruota è Python

Forse avrò esagerato un po' nel titolo, però il concetto che voglio esprimere è chiaro: Python al di la di ogni strana ed articolata definizione, è un linguaggio di programmazione ottimo per tutti coloro che vogliono avvicinarsi alla mistica arte dello sviluppo del codice.



Esistono diversi libri per iniziare a sporcarsi le mani e ne esistono alcuni gratuiti sui quali vale la pene di soffermarsi. Eccone cinque tutti per voi:

1. Uno dei miei preferiti per semplicità, chiarezza e senso pratico è A Byte of Python, che è anche disponibile in Italiano grazie all'impegno di Enrico Morelli a Massimo Lucci. Oltretutto è sintetico, una lettura davvero consigliatissima, non certo esaustiva, ma illuminante.

2. Parlare di Dive Into Python è come parlare della Bibbia per i cristiani. Forse il paragone suona irriverente, ma voglio farvi capire che siamo difronte ad un autentico "must have" per ogni pythonista che si rispetti.

3. Altra storica risorsa, Learn Python The Hard Way è uno di quei testi che non passano mai di moda. Tramite lo "sviluppo" di esercizi non ci accorgeremo di saper di colpo programmare col nostro nuovo amico per la pelle, Python.

4. Citando la prossima risorsa scoprirete che non sono un ragazzino. Perché Python 101 ha ormai qualche annetto sulle spalle, ma ragazzi se mi è stata utile. L'unica scomodità è che non è divisa in diverse pagine, ma è un file unico che si dipana per chilometri e chilometri.

5. Chiudiamo in bellezza la lista con la documentazione ufficiale che non poteva certo mancare. C'è poco da aggiungere alla Python tutorial, non vi resta che leggerlo e gioire.

Esistono naturalmente anche diversi libri cartacei, fedeli compagni di viaggio da scrivania, ma questo è un altro discorso che affronterò in un prossimo articolo/post.

Buon codice a tutti.

10 aprile 2013

Tutti con Jack

Una delle cose più commuoventi che abbia mai visto. Jack Hoffman (7 anni), operato per un cancro al cervello è sceso campo con la squadra di football del cuore, i Nebraska Cornhuskers. Il coach lo ha convocato al Memorial Stadium di Lincoln, Nebraska. Caschetto e casacca dei Cornhuskers, Jack ha percorso tutto il campo fino al touchdown dei suoi sogni. Corri Jack, corri....

Tondo è bello...

Tondo è bello...