El 16 de febrero de 2010 10:20, marmolro <marmo...@gmail.com> escribió:
> > > 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 > o >>> any(v in datos for v in valores) # Para que alguno exista >>> all(v in datos for v in valores) # Para que todos existan Saludos ! > > 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/ > >
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/