[pyar] Duda sobre list comprehensions
Claudio Freire
klaussfreire en gmail.com
Dom Sep 30 14:31:58 ART 2012
On Sun, Sep 30, 2012 at 1:26 PM, Ricardo Aráoz <ricaraoz en gmail.com> wrote:
>>>> reduce(tuple.__add__, zip(['-d']*len(param), ('%s=%s'%(k, param[k]) for
>>>> k in param)))
> ('-d', 'LIBS=lala', '-d', 'DATE=20120405', '-d', 'INPUT=input_file')
Ese reduce(tuple.__add__) tiene costo cuadrático.
Si lo quieren hacer funcional...
from itetools import *
reduce(list.__iadd__, imap(list,izip(repeat('d'),imap('%s=%s'.__mod__,
params.iteritems()))))
No creo que importe, pero esa línea de arriba corre enteramente en C,
al ser composición de funciones builtin, así que es muy rápida, y no
crea más listas grandes en memoria que la lista on el resultado, así
que es eficiente en el uso de memoria.
No es muy útil eso en este ejemplo, pero capaz que en algún otro más crítico sí.
More information about the pyar
mailing list