Incrementando un bucle for, dentro del bucle.

¿Es posible incrementar un bucle for dentro del bucle en python 3?

por ejemplo:

for i in range(0, len(foo_list)): if foo_list[i] < bar i += 4 

¿Donde el contador del bucle i se incrementa en 4 si la condición es verdadera, de lo contrario solo incrementará en uno (o cualquiera que sea el valor del paso para el bucle for)?

Sé que un bucle while sería más aplicable para una aplicación como esta, pero sería bueno saber si esto (o algo así) en un bucle for es posible.

¡Gracias!

    Podría usar un bucle while e incrementar i función de la condición:

     while i < (len(foo_list)): if foo_list[i] < bar: # if condition is True increment by 4 i += 4 else: i += 1 # else just increment 1 by one and check next `foo_list[i]` 

    Usando un bucle for siempre volveré al siguiente valor en el rango:

     foo_list = [1,2,3,4,5,6] bar = 6 for i in range(len(foo_list)): print("range i ",i) if foo_list[i] < bar: i += 4 print("if i",i) ('range i ', 0) ('if i', 4) ('range i ', 1) ('if i', 5) ('range i ', 2) ('if i', 6) ('range i ', 3) ('if i', 7) ('range i ', 4) ('if i', 8) ('range i ', 5) 

    En su ejemplo, tal como está escrito, se restablecerá en cada nueva iteración del bucle (que puede parecer un poco contradictorio), como se ve aquí:

     foo_list = [1, 2, 3] for i in range(len(foo_list)): print('Before increment:', i) i += 4 print('After increment', i) >>> Before increment: 0 After increment 4 Before increment: 1 After increment 5 Before increment: 2 After increment 6 

    continue es la forma estándar / segura de saltar a la siguiente iteración única de un bucle, pero sería mucho más incómodo si la cadena continues unida que si solo se utilizara un bucle while como otros sugirieron.

    un poco hackish …

     >>> b = iter(range(10)) >>> for i in b: ... print(i) ... if i==5 : i = next(b) ... 0 1 2 3 4 5 7 8 9 >>> 
     while i < end: # do stuff # maybe i +=1 # or maybe i += 4 

    Supongo que podría hacer esto en un bucle for si lo intentara, pero no es recomendable. El punto entero de python's for loop es mirar los ítems, no los índices.