contrato de algunas fuciones en python

Chema Cortes py en ls-l.org
Mar Mayo 3 19:50:52 CEST 2005


Juan Francisco Mosquera Hurtado <juanmosquera <at> puj.edu.co> writes:

> 
> hola muchachos 
> gracias por la accesoria que siempre me brindan en esta lista
> les escribo para saber como 
> usar 
> foldr
> map 
> lambda 
> map
> foldl
> apply 
> todas las use en scheme están definidas en python como las uso y con que las 
> puedo usar listas tuplas cadenas cuales me permiten pasarle una función como
en scheme
> lambda((x)  x*x/6 )
> donde x son listas 
> muchas gracias Juan francisco 

Efectívamente, en python encontrarás algunas de estas funciones; lo que ocurre
es que no se suelen utilizar mucho. Se está recomendado pasar a utilizar lo que
se conoce como "compresiones" de listas. En cuanto a las funciones lambda se
vuelve innecesarias e incluso se desaconsejan utilizarlas, ya que puedes
emplear en su lugar cualquier función definida.

Por ejemplo, algunas equivalencias entre scheme y python:

(foldl f x lst)  -->  reduce(f, lst, x)
(foldr f x lst)  -->  reduce(f, lst[::-1], x)
(apply f args)   -->  f(*args)
(map f lst1 lst2 ...) --> map(f,lst1,lst2,...)
(map f lst)      --> [f(x) for x in lst]
(filter f lst)   --> filter(f,lst)

(apply g (filter f lst))  -->  [g(x) for x in lst if f(x)]

Además tienes las funciones zip y enumerate que seguro te valdrán para muchas
cosas.
 



------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es