8.2. Acceso a los elementos

La sintaxis para acceder a los elementos de una lista es la misma que para acceder a los caracteres de una cadena: el operador corchetes []. La expresión dentro de los corchetes especifica el índice. Recuerde que los índices siempre comienzan en cero:

   1: print numeros[0]
   2: numeros[1] = 5

El operador [] puede aparecer en cualquier parte de una expresion. Cuando aparece a la izquierda de una asignacion, cambia uno de los elementos de la lista, de manera que el “unesimo” elemento de numeros, que era 123, ahora es 5.


Se puede usar como índice cualquier expresion entera.



   1: >>> numeros[3-2]
   2: 5
   3: >>> numeros[1.0]
   4: TypeError: 
   5: sequence index must be integer


Si intenta acceder (leer o modificar) un elemento que no existe, obtendra un error en tiempo de ejecución:




   1: >>> numeros[2] = 5
   2: IndexError: list assignment index out of 
   3: range

Si se da un índice negativo, se cuenta hacia atras desde el final de la lista.



   1: >>> numeros[-1]
   2: 5
   3: >>> numeros[-2]
   4: 17
   5: >>> 
   6: numeros[-3]
   7: IndexError: list index out of range
   8: numeros[-1] es el ultimo 
   9: elemento de la lista, numeros[-2] es el penultimo, y
  10: numeros[-3] no 
  11: existe.

Es muy habitual usar una varible de bucle como índice para una lista:




   1: jinetes = ["guerra", "hambre", "peste", "muerte"]
   2: i = 0
   3: while i < 4:
   4: print jinetes[i]
   5: i = i + 1


Este bucle while cuenta desde 0 hasta 4. Cuando la variable de bucle vale 4, la condición falla y acaba el bucle. Por tanto, el cuerpo del bucle solo se ejecuta cuando i es 0, 1, 2 y 3.


Cada vez que recorremos el bucle, la variable i se usa como índice de la lista, imprimiendo el elemento i-esimo. Esta plantilla de computacion se llama recorrido de lista.

0