[Python-es] Buscar varios elementos en una lista

marmolro marmolro en gmail.com
Mie Feb 17 10:37:25 CET 2010


2010/2/17 Chema Cortes <pych3m4 en gmail.com>

> El día 17 de febrero de 2010 08:33, marmolro <marmolro en gmail.com>
> escribió:
>
> > Cierto:
> > {{{
> > import time
> > valores = range(40000)
> > datos = range(0, 10000, 3)
> > i = time.time()
> > True in [v in datos for v in valores]
> > time_option1 = time.time() - i
> > i = time.time()
> > any(v in datos for v in valores)
> > time_option2 = time.time() - i
> > print time_option1
> > print time_option2
> > }}}
> >>>> 2.96800017357
> > 0.0
>
> Para que sean más parecidos, deberían usarse generadores también en la
> primera variante:
>
>   True in (v in datos for v in valores)
>
>
> Al contrario, también es posible empeorar la segunda variante:
>
>  any( [v in datos for v in valores] )
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>

Bueno, se trataba de ver las diferencias entre las "listas por compresión" y
los generadores... el utilizar o no la función any creo que no impacta nada.

Un saludo,
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100217/8c7e7ace/attachment.html>


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