[Python] l'amore per il pitone
Carlos Catucci
carlos.catucci a gmail.com
Mar 17 Set 2013 19:16:32 CEST
2013/9/17 Piergiuliano Bossi <pgbossi a gmail.com>
> https://en.wikipedia.org/wiki/List_comprehension#History
>
> :D
>
>
Non ho mai affernato che le abbiano inventate per il Python, ma il bello di
Python e' che ha preso il meglio di altri linguaggi unendolo
> on e' particolarmente interessante focalizzarsi ne' su map/reduce ne'
>> sulle collezioni in generale.
>>
>
Era per dire, va bene qualsiasi cosa
> Comunque, un altro esempio e' questo => puoi usare itertools.chain per
>> implementare una flatmap (sicuro che non vuoi il codice Python? allora non
>> leggere :) )
>>
>
Ngueeee mi tratta maleeeeeeeeeee ;P
> Da un mio scambio privato con un pythonista da queste parti:
> >>> func = lambda 2 * x
> >>> func(2)
> 4
> >>> a = [1, 2, 3, 4]
> >>> b = [2, 3, 4, 5]
> >>> map(func, a)
> [2, 4, 6, 8]
> >>> from itertools import *
> >>> list(chain(*[a, b]))
> [1, 2, 3, 4, 2, 3, 4, 5]
> >>> list(chain([a, b]))
> [[1, 2, 3, 4], [2, 3, 4, 5]]
> >>> list(chain(*map(func, a)))
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> TypeError: 'int' object is not iterable
> >>> list(chain(*map(func, [a, b])))
> [1, 2, 3, 4, 1, 2, 3, 4, 2, 3, 4, 5, 2, 3, 4, 5]
> >>> func2 = lambda iter: sum(iter)
> >>> func2(a)
> 10
> >>> list(chain(*map(func2, [a, b])))
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> TypeError: 'int' object is not iterable
> >>> func2 = lambda iter: [sum(iter)]
> >>> func2(a)
> [10]
> >>> map(func2, [a, b])
> [[10], [14]]
> >>> list(chain(*map(func2, [a, b])))
> [10, 14]
> >>> list(chain.from_iterable(map(func2, [a, b]))) # this saves you from
> typing at the expense of typing from_iterable
> [10, 14]
> >>>
>
>
> Cosi' facendo se la tua collezione e' gia' flat hai un'eccezione (perche'
> i singoli elementi non sono iterabili).
>
> Qual e' il modo migliore per implementare una flatmap in Python?
Mmmm senza esempi pratici mi spiazzi ;)
Carlos
--
"Somos los que amasan, sin embargo no tenemos pan,
somos los que cavan el carbón, sin embargo tenemos frío
somos los que no tienen nada, y estamos viniendo a tomar el mundo."
Tassos Livaditis (Poeta greco, 1922, 1988)
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130917/7b49cfda/attachment.html>
Maggiori informazioni sulla lista
Python