[Python] l'amore per il pitone

Piergiuliano Bossi pgbossi a gmail.com
Mar 17 Set 2013 19:53:36 CEST


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 <pgbossi a 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 <marcoberi a gmail.com>
>
>> 2013/9/17 Piergiuliano Bossi <pgbossi a 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 a 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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130917/2c3b055e/attachment.html>


Maggiori informazioni sulla lista Python