Cuando iterar a través de los valores de list1
start
-stop
, como en:Python: ¿una iteración a través de 'list [a: b]' copia primero esa parte de la lista (que podría ser costosa)?
for value in list1[start:stop]:
....
¿Se pitón ejemplar de la primera parte de la lista (como se hace cuando se hace list2 = list1[:]
)? ¡Esto podría ser muy costoso para listas grandes!
Si no lo copia en el ejemplo anterior, ¿eso siempre es cierto? Necesito hacer el siguiente tipo de bucle, muy a menudo, en grandes sectores de (muy) grandes listas:
for index, value in enumerate(list1[start:stop], start):
....
¿Pero 'list1' en realidad necesita ser una * lista *? Creo que no daría lugar a ninguna copia si 'list1' fuera, por ejemplo, una matriz Numpy. –
@AndrewJaffe - No, siempre que una matriz Numpy pueda manejar matrices de tuplas/enteros/cadenas/sub'Numpy ', es decir, una variedad de tipos de datos de diferentes tamaños. No sé nada sobre numpy sin embargo, y el módulo 'array' enviado con Python no aparece (en mis pruebas de perfil) para hacer una gran diferencia, en su caso. – Jeff