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
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python