Meaning
Iterates over the indices of a sequence in reverse order, from the last index down to 0.
Primary Function
Iterate backwards through a sequence by index.
Communicative Purpose
To traverse a sequence backwards, often to safely modify the list (e.g., delete items) while iterating.
Pattern
for i in range(len(seq)-1, -1, -1):
Core Structure
for i in range(start, stop, step): where start = len(seq)-1, stop = -1, step = -1
Função primária
Iterate backwards through a sequence by index.
Propósito comunicativo
To traverse a sequence backwards, often to safely modify the list (e.g., delete items) while iterating.
Situações de gatilho
When you need to process elements in reverse order, especially when removing or inserting elements during iteration to avoid index shift errors.
Contextos
Used in loops over lists, strings, or any sequence where reverse index access is needed, such as in-place removal, reversing, or processing from end to start.
Padrão
for i in range(len(seq)-1, -1, -1):
Estrutura central
for i in range(start, stop, step): where start = len(seq)-1, stop = -1, step = -1
Slots de substituição
seq (any sequence), i (loop variable name can be changed)
Colocados típicos
- len
- range
- -1
- -1 step
- list
- string
Substituições comuns
- i can be idx
- j
- etc.
- seq can be any list
- string
- tuple
- step -1 can be written as -1
Erros comuns
off-by-one errors (using len(seq) as start), forgetting the -1 stop, using a positive step, confusing with forward loop
Similar / contraste
forward iteration 'for i in range(len(seq)):', 'for i, item in enumerate(seq):', 'for item in reversed(seq):'
Interferências
Confusing reverse index loop with forward loop can lead to index-out-of-range errors; forgetting to decrement step causes an infinite loop.
Família do chunk
- reverse iteration idiom
Nuance
Allows safe in-place modification while iterating because indices remain valid after deletions or insertions.
Efeito pragmático
Signals the intent to mutate the sequence while iterating in reverse order.
Dica de memória
Think 'count down from last index to zero'.
Nota
Often preferred over reversed(seq) when you need to mutate the list during iteration.
Upgrade path
Consider using reversed(seq) for readability when mutation is not required.
Log in to save chunks.