A instrução for em Python difere um pouco do que você pode estar acostumado em C ou Pascal. Em vez de sempre repetir uma progressão aritmética de números (como em Pascal), ou dar ao usuário a capacidade de definir tanto a etapa de iteração quanto a condição de parada (como C), a instrução Python itera sobre os itens de qualquer sequência (uma lista ou uma string), na ordem em que aparecem na sequência. Por exemplo:
>>> # Measure some strings: ... a = ['egg', 'chips', 'spam'] >>> for x in a: ... print x, len(x) ... egg 3 chips 5 spam 4
Não é seguro modificar a sequência sendo iterada no loop (isso só pode acontecer para tipos de sequência mutáveis, como listas). Se você precisar modificar a lista na qual você está iterando (por exemplo, para duplicar itens selecionados), é necessário iterar sobre uma cópia. A pedaço da notação torna isso particularmente conveniente:
>>> for x in a[:]: # make a slice copy of the entire list ... if len(x) == 4: a.insert(0, x) ... >>> a ['spam', 'egg', 'chips', 'spam']