Como remover um item de uma lista em Python

Aprenda como remover elementos de uma lista Python. Domine a diferença entre remove(), pop(), del e clear, com tratamento seguro de erros de índice.

Experimente esta solução no Editor

Visão geral

Modificar coleções removendo itens é uma tarefa fundamental ao gerenciar filas, analisar configurações ou filtrar conjuntos de dados. Como as listas do Python são mutáveis, você pode excluir elementos no local. Python oferece vários métodos para remover itens, e escolher o caminho certo depende se você deseja excluir por valor, por índice ou limpar totalmente a lista.

Para remover um item pelo seu valor, você usa o método `.remove(value)`. Ele pesquisa a lista e exclui a *primeira* ocorrência desse valor. Se o valor não for encontrado, gera um `ValueError`. Para remover um item em um índice específico e recuperar seu valor, você usa o método `.pop(index)` (cujo padrão é o último item se nenhum índice for fornecido).

Se você deseja excluir um elemento de um índice sem manter seu valor, você pode usar a instrução `del` (por exemplo, `del my_list[index]`). Para limpar todos os itens de uma lista local, o método `.clear()` é a escolha mais eficiente. A compreensão dessas operações evita erros e problemas de vazamento de memória.

Saída de código e execução

Este script demonstra a remoção de elementos da lista por valor usando remove(), por índice usando pop() e del, e limpando o conteúdo da lista.

remove_list_items.py
Experimente no Editor
fruits = ["apple", "banana", "cherry", "banana", "date"]

# 1. Remove by value (deletes the first match only)
fruits.remove("banana")
print("After remove('banana'):", fruits)

# Handling ValueError safely
try:
    fruits.remove("orange")
except ValueError:
    print("Value 'orange' not found in list.")

# 2. Remove by index and retrieve item using pop()
popped_item = fruits.pop(1) # Removes index 1 ("cherry")
print(f"Popped: {popped_item} | List after pop:", fruits)

# 3. Delete by index without retrieving using del
del fruits[0] # Removes "apple"
print("After del index 0:", fruits)

# 4. Clear entire list in-place
fruits.clear()
print("After clear():", fruits)
Saída terminal
After remove('banana'): ['apple', 'cherry', 'banana', 'date']
Value 'orange' not found in list.
Popped: cherry | List after pop: ['apple', 'banana', 'date']
After del index 0: ['banana', 'date']
After clear(): []

Implementação passo a passo

  • Use list.remove(value) para procurar e excluir a primeira ocorrência de um valor específico.
  • Chame list.pop(index) para remover e retornar o elemento na posição de índice especificada.
  • Use a instrução del list[index] para excluir um elemento ou fatia de elementos diretamente pelo índice.
  • Chame list.clear() para remover todos os elementos no local, deixando uma lista vazia com tamanho 0.

Perguntas frequentes

Qual é a diferença entre pop() e del?

pop() remove o elemento e o retorna, permitindo atribuí-lo a uma variável. del é uma instrução que exclui o item da memória sem devolvê-lo.

Como removo todas as ocorrências de um valor de uma lista?

Use uma compreensão de lista ou um loop while: list = [x for x in list if x != target_value]. Chamar remove() dentro de um loop pode pular itens se modificado incorretamente.

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.