[pyar] Programación funcional en python

Daniel Moisset dmoisset en machinalis.com
Mie Oct 23 13:16:26 ART 2013


Si queres un iterable usas (x for x in S if P(x))


2013/10/23 Elvio Rogelio Toccalino <elviotoccalino en gmail.com>

> much clearer!
>
> Lo que se pierde, sin embargo, es el tipo de S. En python eso mucho no
> importa, y menos si estas usando una lista (list es el mejor amigo del
> pythonista). Pero en otro contexto puede ser un fastidio que [x for x in S
> if P(x)] te devuelve una lista *siempre*, a pesar de que S es otro tipo
> (pero iterable).
>
>
> El 23 de octubre de 2013 13:13, Cesar Ballardini <cesar en ballardini.com.ar>escribió:
>
> la perla de ese artículo es:
>>
>> filter(P, S) is almost always written clearer as [x for x in S if P(x)]
>>
>> :)
>>
>> ¿clearer?
>>
>>
>> El día 21 de octubre de 2013 09:31, Elvio Rogelio Toccalino
>> <elviotoccalino en gmail.com> escribió:
>> > El artículo al que hacía referencia antes es "The fate of reduce() in
>> Python
>> > 3000" [0]. Espero no haber sido demasiado vago en mi respuesta.
>> >
>> > 0: http://www.artima.com/weblogs/viewpost.jsp?thread=98196
>> >
>> >
>> > El 20 de octubre de 2013 14:01, Elvio Rogelio Toccalino
>> > <elviotoccalino en gmail.com> escribió:
>> >
>> >> Python es un lenguaje muy maleable, y lo podes extender hasta donde se
>> te
>> >> ocurra.
>> >>
>> >> Dicho eso, hay una clara intención del lenguaje de marcar un límite
>> entre
>> >> lo funcional y lo procedural. En un texto que ahora no recuerdo donde
>> >> buscarlo (lo agrego luego) Guido intenta desterrar filter, map y
>> reduce, con
>> >> la intención de reemplazarlas por generadores y comprensiones de lista
>> >> ("list comprehensions", no se si lo estoy traduciendo bien). Si buen
>> estos
>> >> artefactos son inspirados de similares construcciones en lenguajes
>> >> funcionales, en python se intentó que de a poco reemplacen otras
>> estructuras
>> >> (antes mencionadas, y que también venían del paradigma funcional).
>> >>
>> >> Python se caracteriza por tratar de tomar lo mejor sin casarse con
>> nadie.
>> >> Busca maximizar tu poder de expresividad. Por eso te va a servir para
>> >> introducir/te a los lenguajes funcionales... Para más que una
>> introducción
>> >> vas a necesitar un lenguaje funcional :) (recomiendo altamente
>> Haskell).
>> >>
>> >> Btw, ni Guido fue capaz de sacar reduce/filter/map por entero, pero la
>> >> intención estuvo.
>> >
>> >
>> >
>> > _______________________________________________
>> > pyar mailing list pyar en python.org.ar
>> > http://listas.python.org.ar/listinfo/pyar
>> >
>> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >
>> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> > Argentina - http://www.usla.org.ar
>>
>>
>>
>> --
>> It's not enough to teach students to surf the Net, we must teach them to
>> make waves. My pedagogical theory is relate, create, donate, which
>> suggests that students work in teams, create ambitious projects and then
>> donate these to people who can use and build upon them. --Ben Shneiderman
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20131023/f26fe795/attachment.html>


More information about the pyar mailing list