¿Cómo obtengo el último elemento de una lista?
¿Cómo obtengo el último elemento de una lista? ¿Qué camino se prefiere?
alist[-1]
alist[len(alist) - 1]
some_list[-1]
es el más corto y pitónico.
De hecho, puedes hacer mucho más con esta sintaxis. La some_list[-n]
sintaxis obtiene el enésimo al último elemento. Entonces some_list[-1]
obtiene el último elemento, some_list[-2]
obtiene el penúltimo, etc., hasta llegar a some_list[-len(some_list)]
, lo que le da el primer elemento.
También puede configurar elementos de la lista de esta manera. Por ejemplo:
>>> some_list = [1, 2, 3]
>>> some_list[-1] = 5 # Set the last element
>>> some_list[-2] = 3 # Set the second to last element
>>> some_list
[1, 3, 5]
Tenga en cuenta que obtener un elemento de la lista por índice generará un error IndexError
si el elemento esperado no existe. Esto significa que some_list[-1]
generará una excepción si some_list
está vacía, porque una lista vacía no puede tener un último elemento.
Si sus objetos str()
o list()
pueden terminar vacíos como así: astr = ''
o alist = []
, entonces es posible que desee usarlos alist[-1:]
en lugar de alist[-1]
para la "igualdad" del objeto.
El significado de esto es:
alist = []
alist[-1] # will generate an IndexError exception whereas
alist[-1:] # will return an empty list
astr = ''
astr[-1] # will generate an IndexError exception whereas
astr[-1:] # will return an empty str
Donde la distinción que se hace es que devolver un objeto de lista vacío o un objeto str vacío es más parecido a un "último elemento" que a un objeto de excepción.
También puedes hacer:
last_elem = alist.pop()
Depende de lo que quieras hacer con tu lista porque el pop()
método eliminará el último elemento.
La forma más sencilla de mostrar el último elemento en Python es
>>> list[-1:] # returns indexed value
[3]
>>> list[-1] # returns value
3
Hay muchos otros métodos para lograr ese objetivo, pero estos son breves y sencillos de utilizar.