dict (tablica asocjacyjna):

# Iteracja po kluczach for key in dictionary: print key

# Iteracja po wartościach for value in dictionary.itervalues(): print value

# Iteracja po parach (klucz, wartość) for key, value in dictionary.iteritems(): print key, value

Iteratory można również definiować i używać jawnie. Do pobrania iteratora z kolekcji typu sekwencyjnego wykorzystuje się funkcję wbudowaną iter(). Tak utworzony iterator posiada metodę next(), która przy każdym wywołaniu zwraca kolejny element kolekcji. Gdy nie ma więcej elementów, metoda ta rzuca wyjątek StopIteration. Poniższy przykład pokazuje iterację po sekwencji z jawnym iteratorem, równoważną przedstawionej powyżej:

it = iter(sequence) try: while True: val = it.next() print val except StopIteration: pass

Dowolna zdefiniowana przez użytkownika klasa może udostępniać standardową iterację (niejawną lub jawną), jeśli posiada metodę __iter__() zwracającą iterator. Z kolei zwrócony iterator musi posiadać również metodę __iter__() oraz metodę next().

W Pythonie możliwe jest również użycie generatorów - specjalnego rodzaju iteratorów po niezrealizowanej kolekcji. Generatora używa się tak, jak iteratora, tyle, że sama iterowana kolekcja nie istnieje.