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