martes, 17 de febrero de 2015

Más herramientas para control de flujo - III

La función range()
Si se necesita iterar sobre una secuencia de números, es apropiado utilizar la función integrada range().
Genera una lista conteniendo progresiones aritméticas:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
El valor final dado nunca es parte de la lista; range(10) genera una lista de 10 valores, los índices
correspondientes para los ítems de una secuencia de longitud 10. Es posible hacer que el rango empiece
con otro número, o especificar un incremento diferente (incluso negativo; algunas veces se lo llama
'paso'):
>>> range(5, 10)
[5, 6, 7, 8, 9]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(-10, -100, -30)
[-10, -40, -70]
Para iterar sobre los índices de una secuencia, podés combinar range() y len() así:
>>> a = ['Mary', 'tenia', 'un', 'corderito']
>>> for i in range(len(a)):
... print i, a[i]
...
0 Mary
1 tenia
2 un
3 corderito
En la mayoría de los casos, sin embargo, conviene usar la función enumerate(), mirá tut-loopidioms.

No hay comentarios:

Publicar un comentario