2010/2/16 Daniel Garcia Moreno <[email protected]> > 2010/2/16 Oswaldo Hernández <[email protected]>: > > 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 > [email protected] > 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 [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
