Iteración eficiente sobre la rebanada en Python
¿Qué tan eficientes son las iteraciones sobre las operaciones de división en Python? Y si una copia es inevitable con rebanadas, ¿hay alguna alternativa?
Sé que una operación de división sobre una lista es O (k), donde k es el tamaño de la división.
x[5 : 5+k] # O(k) copy operation
Sin embargo, al recorrer una parte de una lista, me parece que la forma más limpia (y la mayoría de Pythonic?) De hacer esto (sin tener que recurrir a índices) es hacerlo:
for elem in x[5 : 5+k]:
print elem
Sin embargo, mi intuición es que esto todavía resulta en una copia costosa de la lista secundaria, en lugar de simplemente iterar sobre la lista existente.