range crea un array en función de los parámetros que le pases:
O sea:
Código:
range(0, 5) # [0, 1, 2, 3, 4]
range(0, 5, 2) # [0, 2, 4]
En este caso lo que haces es un array con los índices de los elementos de ambos arrays, y después lo recorres con el bucle:
No sé si vienes de otro lenguaje, pero en el bucle for de Python no hace falta que aumentes una variable iteradora en cada paso, sino que el propio Python va recorriendo el iterable de uno en uno, así que en este caso no es que a indice se le sume nada, sino que toma el valor del siguiente elemento del array devuelto por range. Por último:
Código Python:
Ver originalprint '%-20s %10.2f' % (nombres[indice],sueldos[indice])
Aquí lo que haces es imprimir los elementos de los dos arrays accediendo mediante su posición (indice).
Saludos (:
Edit: Otra manera de hacerlo, a mí personalmente me gusta más:
Código Python:
Ver originalfor nombre, sueldo in zip(nombres, sueldos):
print '%-20s %10.2f' % (nombres[indice],sueldos[indice])