Buscar mas rapido
Chema Cortés
py en ch3m4.org
Lun Dic 13 11:20:32 CET 2004
El Sábado, 11 de Diciembre de 2004 14:12, Alvaro Leiva escribió:
> Hola a todos en la lista...
>
> Tengo otra consulta... miren, yo guardo en una variable llamada barra un
> numero que tiene 10**6 unidades... y lo guardo como string.. esto es
> barra="321458692132132157635465465....."
> print len(barra)
> 1000000
>
> resulta que cada ves que quiero buscar un numero en esa cadena de numero
> se demora aprox 0.04 (no se que unidad usa el computador parece que son
> segundos). el punto es que por ejemplo tengo que buscar 806148 mil
> numeros dentro de este numero y solo se va a demorar
> 0.04*806148/60/60= 8.9 horas...
>
> entonces.. hay alguna forma de hacer esta busqueda mas rapida.. pasando
> esa variable a un archivo etc... el comando que yo uso para buscar es:
> "654" in barra
Con mi equipo (Athlon XP 2600+) me sale 0.000025 segundos por cálculo, o sea,
unos 20 segundos el revisar todos los números. Me temo que tienes un equipo
algo inadecuado para hacer estos cálculos.
Es difícil conseguir mejorar estos tiempos de búsquedas en python. Se podría
pensar en otras estrategias como programar las búsquedas en C ó utilizar
algún tipo de algoritmo que se ajuste a la naturaleza de los datos como
máquinas de estados finitos ó algoritmos genéticos.
Tu problema es muy similar al que tienen los bioinformáticos en la búsqueda de
proteínas en cadenas protéicas. Busca en www.biopython.org a ver si
encuentras algo que pueda serte de utilidad.
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: no disponible
Type: application/pgp-signature
Size: 189 bytes
Desc: no disponible
URL: <http://mail.python.org/pipermail/python-es/attachments/20041213/75808e87/attachment.pgp>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es