Ваш код будет работать, но использование счетчика циклов часто не считается "питонным". Использование for
работает так же хорошо и устраняет счетчик:
>>> foo = [0, 1, 2]
>>> for bar in foo:
if bar % 2: # append to foo for every odd number
foo.append(len(foo))
print bar
0
1
2
3
4
Если вам необходимо узнать, как далеко вы находитесь в списке, вы можете использовать enumerate
:
>>> foo = ["wibble", "wobble", "wubble"]
>>> for i, bar in enumerate(foo):
if i % 2: # append to foo for every odd number
foo.append("appended")
print bar
wibble
wobble
wubble
appended
appended