2010/2/16 Daniel Garcia Moreno <d...@danigm.net>

> 2010/2/16 Oswaldo Hernández <lis...@soft-com.es>:
> > Hola,
> >
> > Tengo una lista de valores y otra de datos, quiero comprobar si uno
> > cualquiera de los valores existe en la lista de datos. En este momento lo
> > hago utilizando un bucle for para comprobar uno a uno:
> >
> > valores = (15, 45, 190)
> > datos = (22, 33, 55, 567, 44, 234, 45)
> > existe = False
> >
> > for v in valores:
> >    if v in datos:
> >        existe = True
> >        break
> >
> > if existe:
> >    ...
> > else:
> >    ...
> >
> > La pregunta es ¿Existe alguna forma mas compacta de hacerlo?
> >
>
> set(valores).intersection(set(datos))
>
> No se si te he entendido bien, pero si es así, esto debería valer.
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>

Con List comprehensions:

>>> [v in datos for v in valores]
[False, True, False]

y rizando el rizo:

>>> True in [v in datos for v in valores]
True

Ahora bien, no sé si a nivel de prestaciones que es mejor :)
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Reply via email to