Re: [Python-es] Duda con los parametros de funciones lambda.

2010-08-26 Por tema Txema Vicente
Muy aclaratorias las respuestas, muchas gracias. Y menudo juguete functools, no sabía que existía, que bien me lo voy a pasar. Suerte. Una solución pasa por usar otra lambda auxiliar: for b in (7,8,9): funciones.append((lambda b: lambda x: multiplica(b, x))(b)) Pero como esto es feo,

Re: [Python-es] Duda con los parametros de funciones lambda.

2010-08-26 Por tema Rolando Espinoza La Fuente
2010/8/26 Txema Vicente : > Buenas. > > Tengo un problemilla con las funciones lambda, quiero generar un monton de > ellas desde un bucle, pero me he topado con que si hago esto: > > def multiplica(n,m): return n*m > > funciones=[] > > # Primera forma > funciones.append(lambda x: multiplica(1 ,x))

Re: [Python-es] Duda con los parametros de funciones lambda.

2010-08-26 Por tema Arnau Sanchez
On Thu, 26 Aug 2010 23:42:58 +0200 Txema Vicente wrote: > # Tercera forma > for b in (7,8,9): funciones.append(lambda x: multiplica(b ,x)) > > # Resultado > for funcion in funciones: print str(funcion(10)) > > La salida que esperaba era : > 10, 20, 30, 40, 50, 60, 70, 80, 90 > > Pero salida es:

Re: [Python-es] Duda con los parametros de funciones lambda.

2010-08-26 Por tema lasizoillo
El día 26 de agosto de 2010 23:42, Txema Vicente escribió: > Buenas. > > Tengo un problemilla con las funciones lambda, quiero generar un monton de > ellas desde un bucle, pero me he topado con que si hago esto: > > def multiplica(n,m): return n*m > > funciones=[] > > # Primera forma > funciones.a

Re: [Python-es] Duda con los parametros de funciones lambda.

2010-08-26 Por tema Pepe Aracil
Hola. De momento solo se me ocurre convertir en un literal la variable que contiene el multiplo fijo con la funcion eval: a=1 funciones.append(eval("lambda x: multiplica(%s ,x)" % a)) a=2 funciones.append(eval("lambda x: multiplica(%s ,x)" % a)) ... Saludos. El 26 de agosto de 2010 23:42, Txe

[Python-es] Duda con los parametros de funciones lambda.

2010-08-26 Por tema Txema Vicente
Buenas. Tengo un problemilla con las funciones lambda, quiero generar un monton de ellas desde un bucle, pero me he topado con que si hago esto: def multiplica(n,m): return n*m funciones=[] # Primera forma funciones.append(lambda x: multiplica(1 ,x)) funciones.append(lambda x: multiplica(2 ,