Nota: mi hanno fatto notare in privato che all() e' lazy e non e' vero che comporta l'applicazione della trasformazione a tutti gli elementi della collezione (perche' non trasforma la collezione in toto, bensi' usa il generatore direttamente).
Ma tanto voi questo lo sapevate gia'. :) Ciao, Giuliano 2013/9/17 Piergiuliano Bossi <pgbo...@gmail.com> > Esempio 2 > Come faccio a verificare che tutti gli elementi di una collezione > verifichino lo stesso predicato? In Python devo prima applicare il > predicato a tutti gli elementi e poi usare la funzione all(). In linguaggi > come Ruby uso il metodo all? di enumerable direttamente (Scala e' analogo). > > Python > >>> a = [2, 4, 8, 11] > >>> all(i % 2 == 0 for i in a) > False > > Ruby (non testato): > a = [2, 4, 8, 11] > a.all? {|i| i % 2 == 0} > > In generale, la mia impressione e' che Enumerable per Ruby e tutta la > libreria di collezioni "monstre" in Scala ti danno un sacco di modi per > manipolare le tue collezioni che in scala devi costruirti a mano, partendo > da all, len, map, reduce e i metodi di itertools. Nell'esempio di sopra, > invece Python mi obbliga prima a mappare tutti i valori di una collezione e > poi comporre la funzione desiderata. Ma se quella collezione e' grande e il > predicato computazionalmente complesso all() comunque ci itera sopra nella > sua interezza, giusto? > > Dove sbaglio? > > Ciao > Giuliano > > > > 2013/9/17 Marco Beri <marcob...@gmail.com> > >> 2013/9/17 Piergiuliano Bossi <pgbo...@gmail.com> >> >> quando devo manipolare una collezione penso a quanto piu' facile e' in >>> Ruby o Scala >>> >> >> Giuliano, >> magari puoi aggiungere due righe di codice per mostrare le differenze e >> la maggior facilità di gestire una collezione in Ruby o Scala? >> >> Se posso capire i conati per il self non riesco davvero a immaginare un >> modo molto più facile per gestire le collezioni di quello di Python. >> >> Ciao. >> Marco. >> P.S. Ovviamente salto tutta la fase dei saluti ecc. visto che ci >> frequentiamo da anni (in fondo sei tu il protagonista di >> http://beri.it/2009/12/22/la-neve/ che mi ha fatto andare su Radio24 >> http://beri.it/2012/03/19/voi-siete-qui/). >> >> -- >> http://beri.it/ - Un blog >> http://beri.it/i-miei-libri/ - Qualche libro >> >> >> _______________________________________________ >> Python mailing list >> Python@lists.python.it >> http://lists.python.it/mailman/listinfo/python >> >> > > > -- > Piergiuliano Bossi > Blog: http://thinkingbox.wordpress.com/ > Twitter: http://twitter.com/thinkingbox (English) > Twitter: http://twitter.com/scatolapensante (Italiano) > Google+: https://plus.google.com/u/0/108187981162465525118 > -- Piergiuliano Bossi Blog: http://thinkingbox.wordpress.com/ Twitter: http://twitter.com/thinkingbox (English) Twitter: http://twitter.com/scatolapensante (Italiano) Google+: https://plus.google.com/u/0/108187981162465525118
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python