Como obter o último elemento de uma lista?

Ana Maria Gomes
4 minutos de leitura

Conteúdos do tutorial

Ao trabalhar com listas em Python, uma tarefa comum é recuperar o último elemento. Existem várias maneiras de fazer isso, mas alguns métodos são mais sucintos e Pythonicos do que outros. Neste post, vamos explorar as maneiras preferidas de obter o último elemento de uma lista em Python.

Acessando o Último Elemento com Indexação Negativa

A maneira mais direta e Pythonica de obter o último elemento de uma lista é usando indexação negativa:

alguma_lista = [1, 2, 3, 4, 5]
ultimo_elemento = alguma_lista[-1]
print(ultimo_elemento)  # Saída: 5
Testar

A indexação negativa é poderosa em Python. Usando alguma_lista[-n], você pode acessar o enésimo elemento a partir do final da lista. Por exemplo, alguma_lista[-2] daria a você o penúltimo elemento. Este método é conciso e claro para qualquer pessoa familiarizada com Python.

Você também pode usar indexação negativa para definir valores em uma lista:

alguma_lista = [1, 2, 3, 4, 5]
alguma_lista[-1] = 10  # Define o último elemento como 10
alguma_lista[-2] = 9   # Define o penúltimo elemento como 9
print(alguma_lista)    # Saída: [1, 2, 3, 9, 10]
Testar

No entanto, tenha cuidado ao usar este método em uma lista vazia, pois ele gerará um IndexError, já que não há último elemento para recuperar:

lista_vazia = []
# lista_vazia[-1]  # Isso gerará um IndexError

Lidando com Listas Vazias de Maneira Elegante

Se há uma chance de sua lista estar vazia, você pode usar fatiamento para evitar o IndexError:

lista_vazia = []
ultimo_elemento = lista_vazia[-1:]  # Retorna uma lista vazia em vez de um erro
print(ultimo_elemento)  # Saída: []
Testar

Essa abordagem é útil quando você quer manter o tipo do objeto retornado, seja ele uma lista ou uma string, e evitar exceções retornando uma lista ou string vazia em vez disso.

Removendo e Recuperando o Último Elemento com pop()

Outra maneira de obter o último elemento de uma lista é usando o método pop():

alguma_lista = [1, 2, 3, 4, 5]
ultimo_elemento = alguma_lista.pop()
print(ultimo_elemento)  # Saída: 5
print(alguma_lista)     # Saída: [1, 2, 3, 4]
Testar

O método pop() não apenas recupera o último elemento, mas também o remove da lista. Esta é uma boa opção se você precisa usar o último elemento e não precisa mais que ele faça parte da lista.

Resumo

Em resumo, a maneira mais Pythonica de obter o último elemento de uma lista é usando indexação negativa (alguma_lista[-1]). Se você está lidando com listas que podem estar vazias, considere usar fatiamento (alguma_lista[-1:]) para evitar IndexError. E se você precisa recuperar e remover o último elemento, use o método pop(). Cada método tem seu caso de uso, e escolher o certo depende das necessidades específicas do seu código.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: