[Python-es] Buscar índices de un array (que cumple condición) de forma eficiente
Pablo Angulo
pablo.angulo en uam.es
Jue Mar 4 13:46:55 CET 2010
Te escribo a tí directamente porque la lista parece que no me acepta!!
Si los elementos de subconjunto están ordenados dentro de conjunto, la
búsqueda es O(n):
--------
si sabes que los elementos del subconjunto están ordenados dentro del
conjunto, no necesitas buscar en toda la lista cada vez, sino sólo desde
la última búsqueda
indices = []
ultimo = 0
for v in subconjunto:
ultimo += conjunto[ultimo:].index(v)
indices.append(ultimo)
Más información sobre la lista de distribución Python-es