Python – Capítulo 15: Índices negativos

Objetivo: demostrar que los índices de una lista también pueden ser negativos.

En entregas anteriores explicamos que accedíamos a los diferentes elementos de una lista a través de su índice. Dijimos también que la cuenta no empezaba en el uno sino en el cero.

Por lo tanto, en una lista como

semana = ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo']

referenciamos el primer elemento, 'lunes', con:

semana[0]

mientras que el último, 'domingo', es:

semana[6]

En general, y teniendo en cuenta que el número total de elementos de una lista es len(<em>lista</em>), el último de ellos será referenciado como:

lista[len(lista) - 1]

Hoy aprenderemos una particularidad de Python: los índices pueden ser enteros negativos tambien. El concepto es sencillo:

lista[-1] hace mención al último elemento de la lista; lista[-2] al penúltimo, y así sucesivamente.

Aplicado a nuestra lista semana, tenemos:

semana[-1] corresponde a 'domingo', semana[-2] a 'sábado', etcétera.

¿Cuál sería el índice del primer elemento de la lista utilizando índices negativos?

Empleando la cuenta de la vieja es fácil de encontrar que el primero tiene por índice -7.

En general, si la lista tiene por longitud len(lista), el primer elemento es

lista[-len(lista)]

El siguiente programa ilustra esto:

semana = ['lunes', 'martes', 'miércoles', 'jueves', 'viernes',
   'sábado', 'domingo']

# Primer elemento de la lista desde dos ópticas
print('Primer elemento de la lista empleando índices positivos: ',
   semana[0])
print ('Primer elemento de la lista empleando índices negativos: ',
    semana[-len(semana)])

print ('-------------------------------') # Separador

# Último elemento de la lista desde dos ópticas
print('Último elemento de la lista empleando índices positivos: ',
   semana[len(semana) - 1])
print ('Último elemento de la lista empleando índices negativos: ',
    semana[-1])

Habrá ocasiones en las que agradeceremos esta posibilidad particular que tiene Python de “comenzar la cuenta” desde el final de la lista. Tiempo al tiempo…

Javier Montero Gabarró


Fecha de la última revisión: 19 de diciembre de 2012


http://elclubdelautodidacta.es/wp/2011/08/python-capitulo-15-indices-negativos/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Consulta el índice completo de artículos relacionados con Python.

Un comentario en “Python – Capítulo 15: Índices negativos”

Deja un comentario