misma elementos comparar Obteniendo el último elemento de una lista en Python



7 Answers

Si sus objetos str() o list() pueden quedar vacíos, así: astr = '' o alist = [] , entonces es posible que desee usar alist[-1:] lugar de alist[-1] para el objeto " igualdad".

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 está haciendo es que devolver un objeto de lista vacía o un objeto str vacío es más un "último elemento", como un objeto de excepción.

lista de listas python

En Python, ¿cómo obtienes el último elemento de una lista?




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 son cortos y fáciles de usar.




mylist = [ 1 , 2 , 3 , 4 , 5]

#------------------------------------
# Method-1 : Last index
#------------------------------------

print(mylist[-1])


#------------------------------------
# Method-2 : Using len 
#------------------------------------

print(mylist[len(mylist) - 1])


#------------------------------------
# Method-3 : Using pop, pop will remove the last 
#            element from the list.
#------------------------------------

print(mylist.pop())



Ok, pero ¿qué hay de común en casi todos los items[len(items) - 1] manera de lenguaje items[len(items) - 1] ? Esta es la forma más fácil de obtener el último elemento, ya que no requiere ningún conocimiento de Pythonic .




Fecha: 2017-12-06

alist.pop()

Hago una hoja de trucos exhaustiva de todos los 11 métodos de la lista para su referencia.

{'list_methods': {'Add': {'extend', 'append', 'insert'},
                  'Entire': {'clear', 'copy'},
                  'Search': {'count', 'index'},
                  'Sort': {'reverse', 'sort'},
                  'Subtract': {'remove', 'pop'}}}



lst[-1] es el mejor enfoque, pero con iterables generales, considere more_itertools.last :

Código

import more_itertools as mit


mit.last([0, 1, 2, 3])
# 3

mit.last(iter([1, 2, 3]))
# 3

mit.last([], "some default")
# 'some default'



También puede usar el código a continuación, si no desea obtener IndexError cuando la lista está vacía.

next(reversed(some_list), None)



Related