Digamos que estás recorriendo una cadena como "hola" y necesitas un bucle anidado para.

Entonces dices algo como:

for i in str:
    for j in str:

Pero desea que el bucle j comience una posición delante del bucle i.

Entonces, el bucle i comenzará en "h" y el bucle j comenzará en "e"

Pensé que sería algo como:

for i in str:
    j = i + 1
    for j in str:

Error:cannot concatenate 'str' and 'int' objects 
2
Victor Nwadike 13 ene. 2017 a las 17:21

3 respuestas

La mejor respuesta

Simplemente corte la cadena donde desea comenzar, ahora j comienza en 'e' y i comienza en h

x = 'hello'

for i in x:
    for j in x[1:]:
        print(i,j)
2
MooingRawr 13 ene. 2017 a las 14:26

Iterar sobre una range:

my_string = "hello"

for i in range(len(my_string)):
    j = i - 1 # i-1 is the index before, i+1 would be the position after
0
Zach Gates 13 ene. 2017 a las 14:26

Utilice enumerar con cortes.

for i, char in enumerate(s, 1):
    for other_char in s[i:]:
        ....
1
wwii 13 ene. 2017 a las 14:34