Wydajna iteracja nad plasterkiem w Pythonie
Jak wydajne są iteracje w operacjach wycinków w Pythonie? A jeśli kopia jest nieunikniona z plasterkami, czy istnieje alternatywa?
Wiem, że operacja wycinania na liście to O (k), gdzie k jest rozmiarem wycinka.
x[5 : 5+k] # O(k) copy operation
Jednak podczas iteracji części listy uważam, że najczystszym (i najbardziej Pythonicznym?) Sposobem na zrobienie tego (bez uciekania się do indeksów) jest:
for elem in x[5 : 5+k]:
print elem
Jednak moja intuicja jest taka, że wciąż skutkuje to kosztowną kopią podlisty, a nie po prostu iteracją istniejącej listy.