Como Remover um Elemento de uma Lista pelo Índice em Python

Luiza Pereira
4 minutos de leitura

Conteúdos do tutorial

Ao trabalhar com listas em Python, você pode precisar remover um elemento pelo seu índice. Enquanto list.remove() pode deletar um item pelo valor, essa não é a maneira mais eficiente se você já sabe a posição do elemento que deseja remover. Neste post, vamos explorar os métodos mais eficientes para remover um elemento de uma lista pelo índice.

Usando del para Remover um Elemento

A instrução del é uma ferramenta poderosa em Python que pode ser usada para deletar um elemento de uma lista especificando seu índice. Veja como você pode usá-la:

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del a[3]  # Remove o elemento no índice 3
print(a)  # Saída: [0, 1, 2, 4, 5, 6, 7, 8, 9]
Testar

Você também pode usar del para remover fatias de uma lista:

del a[2:5]  # Remove os elementos do índice 2 até, mas não incluindo, o índice 5
print(a)  # Saída: [0, 1, 5, 6, 7, 8, 9]
Testar

Usando pop() para Remover e Retornar um Elemento

O método pop() não apenas remove um elemento de uma lista, mas também retorna o valor do elemento removido. Isso é útil quando você precisa usar o elemento depois de removê-lo da lista.

a = ['a', 'b', 'c', 'd']
elemento_removido = a.pop(1)  # Remove e retorna o elemento no índice 1
print(elemento_removido)  # Saída: 'b'
print(a)  # Saída: ['a', 'c', 'd']
Testar

Se você não especificar um índice, pop() removerá e retornará o último item da lista:

ultimo_elemento = a.pop()
print(ultimo_elemento)  # Saída: 'd'
print(a)  # Saída: ['a', 'b', 'c']
Testar

Usando Fatiamento para Remover um Elemento

Embora não seja tão eficiente quanto del ou pop(), o fatiamento pode ser usado para remover um elemento de uma lista criando uma nova lista sem o elemento indesejado. Este método não é recomendado para listas grandes ou aplicações onde o desempenho é crítico.

a = [1, 2, 3, 4, 5, 6]
indice = 3
a = a[:indice] + a[indice+1 :]
print(a)  # Saída: [1, 2, 3, 5, 6]
Testar

Lembre-se, o fatiamento cria uma nova lista e não modifica a lista original no local.

Comparação de Eficiência

Quando se trata de eficiência, del é o método mais eficiente para remover um elemento pelo índice. Ele trabalha diretamente com a lista e não retorna o elemento removido. O método pop() é um pouco menos eficiente porque retorna o elemento removido, o que pode ser útil em alguns casos. O fatiamento é o método menos eficiente e deve ser usado com cautela, especialmente com listas grandes.

Em resumo, para remover um elemento de uma lista pelo índice em Python, você pode usar:

  • a instrução del para a remoção mais eficiente
  • o método pop() se você precisar do elemento removido
  • fatiamento se você estiver lidando com objetos que não suportam pop() ou del.

Lembre-se de que del e pop() modificam a lista no local, enquanto o fatiamento cria uma nova lista. Escolha o método que melhor atenda às suas necessidades e requisitos de desempenho.

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:
Conteúdos do tutorial