Действительно полезным для этого является использование enumerate
, и вы хотите, чтобы общее количество в конце:
for count, x in enumerate(someiterator):
dosomething(count, x)
print "I did something {0} times".format(count)
Это необходимо? Нет. Но это, безусловно, удобно.
Еще одна вещь, о которой нужно помнить: в Python 2 также распространяются переменные в списках:
>>> [x**2 for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> x
9
Но то же самое не относится к Python 3.