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.

BitBite English #6: How often…?

Ya sabéis eso de «mens sana in corpore sano», pero, ¿os consideráis realmente equilibrados?

¿Con qué frecuencia hacéis ejercicio?, How often do you exercise?

y…

How often do you read?

… if at all.

Javier Montero

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies