[Python-es] Buscar índices de un array (que cumple condición) de forma eficiente

Kiko kikocorreoso en gmail.com
Jue Mar 4 12:45:49 CET 2010


Hola a todos.

Estoy intentando buscar los indices de un subconjunto dentro de un conjunto
y quiero saber si existe algo más eficiente que lo que he pensado.

Me explico, por ejemplo, yo tengo:

conjunto = range(1000, 1100, 1)
subconjunto = range(1000, 1100, 3)

Quiero saber la posición que tendría cada valor del subconjunto en el
conjunto, es decir, subconjunto[0] tendría el índice 0 en conjunto
(conjunto[0])), subconjunto[1] tendría el índice 3 en conjunto
(conjunto[3])) y así.

Estoy obteniendo los índices así
indices = [conjunto.index(valor) for valor in subconjunto]

Pero si conjunto y subconjunto son muy grandes se toma su tiempo.

¿Existe una forma más eficiente de obtener los índices?

Muchas gracias a todos.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100304/7c8597bb/attachment.html>


Más información sobre la lista de distribución Python-es