Pular para o conteúdo principal
InicioTutoriaisPython

Como remover um item de uma lista em Python

Entenda como você pode remover itens de uma lista em Python. Familiarize-se com métodos como remove(), pop() e del para o gerenciamento de listas.
Actualizado 2 de ago. de 2024  · 7 min leer

As listas aparecem com frequência na programação Python, e por um bom motivo. Eles ajudam os analistas a organizar, gerenciar e processar dados. Por exemplo, eles aumentam ou diminuem de tamanho dinamicamente quando os dados têm um comprimento variável. As listas também podem ser facilmente convertidas em outros tipos ou estruturas de dados, como tuplas ou matrizes. Eles são usados até mesmo como blocos de construção em algoritmos mais avançados que exigem pesquisa, classificação e iteração de dados.

Como Python é uma linguagem de programação versátil, há muitas maneiras de remover um item de uma lista em Python. Neste tutorial, examinaremos alguns métodos importantes, incluindo funções internas como remove() e pop(), compreensões de lista e a palavra-chave del.

Se você é um aspirante a analista ou cientista de dados, recomendo enfaticamente que faça o curso Introdução ao Python da DataCamp para aprender as habilidades básicas de programação em Python. A Python Cheat Sheet for Beginners também será uma referência útil para você dominar a sintaxe das diferentes funções do Python. 

3 métodos rápidos para remover itens da lista

Você pode usar qualquer um dos seguintes métodos para remover um item de uma lista. No primeiro caso, podemos usar a função remove()

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]
# Remove the element with the value 5 from the list
my_list.remove(5)

Você também pode usar a função pop()

# Removes the last element from the list
last_element = my_list.pop()

Você também pode usar a palavra-chave del.

# Remove item at index 4
del my_list[4]

Em cada um dos casos acima, a nova lista será [1, 2, 3, 4] depois que o elemento for removido.

Entendendo as listas do Python

As listas do Python são coleções ordenadas de elementos usados para armazenar qualquer tipo de dados. As listas Python são versáteis e dinâmicas, permitindo a você diferentes tipos de manipulação de dados. Devido à sua flexibilidade, as listas em Python têm os seguintes casos de uso:

  • Armazenamento de dados: As listas são usadas para armazenar coleções de itens, como cadeias de caracteres, números e objetos.
  • Manipulação de dados: As listas podem ser usadas para várias tarefas de manipulação e transformação de dados, incluindo adição, remoção ou modificação de elementos. 
  • Iteração: As listas são usadas em iteração para acessar e processar cada item sequencialmente.

É importante que você saiba também que as listas do Python são mutáveis, permitindo modificações mesmo após a criação. Portanto, você pode adicionar, remover ou modificar os elementos da lista conforme necessário.

Técnicas detalhadas para remover itens de uma lista em Python

O Python tem métodos diferentes para remover itens de uma lista. Essas técnicas incluem o método interno, palavras-chave e compreensões de lista.

Usando a função remove()

A função remove() é o método interno do Python para remover um elemento de uma lista. A função remove() é mostrada abaixo.

list.remove(item)

Veja abaixo um exemplo básico de uso da função remove(). A função removerá da lista o item com o valor 3.

A função remove() removerá apenas a primeira ocorrência de um item em uma lista se houver duplicatas na mesma lista. No exemplo a seguir, a função remove() remove apenas a primeira ocorrência de 3 da lista.

# Define a list with some elements
my_list = [1, 2, 3, 4, 3]

# Use the remove() method to delete 3 from the list
# The remove() method removes the first occurrence of the specified value
my_list.remove(3)

# Print the list after removing 3
print(my_list)
[1, 2, 4, 3]

A função remove() retornará um erro de valor se um item não estiver na lista. Portanto, é importante adicionar uma exceção para lidar com esses cenários. O código abaixo mostra um exemplo de captura do erro para itens que não estão na lista.

# Initialize a list with color strings
colors = ["red", "green", "blue"]

# Try to remove the color "yellow" from the list
try:
    colors.remove("yellow")
# Catch the ValueError exception if "yellow" is not found in the list
except ValueError as e:
    print(e) 
list.remove(x): x not in list

Usando a função pop()

A função pop() remove um item de uma lista por índice. A sintaxe da função pop() é mostrada abaixo.

list.pop(index)

O exemplo abaixo mostra como você pode usar a função pop() para remover um item específico de uma lista, especificando o índice. Observe que você pode armazenar o elemento removido como uma nova lista e retorná-lo.

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Remove and return the element at index 2 (third element) from the list
removed_item = my_list.pop(2)

# Print the updated list after removing the element
print(my_list)
print(removed_item)
[1, 2, 4, 5]
3

Se você não especificar o índice do elemento a ser removido da lista, a função pop() removerá o último item da lista por padrão.

Se quiser remover o primeiro item de uma lista em Python, você especificará o índice como 0 usando a função pop().

# Initialize a list with string elements from 'a' to 'd'
my_list = ["a", "b", "c", "d"]

# Remove and return the element at index 0 (the first element) from the list
removed_item = my_list.pop(0)

# Print the updated list after removing the element
print(my_list)
print(removed_item)
['b', 'c', 'd']
a

Da mesma forma, se quiser remover o último item de uma lista, você especificará o último índice como -1 usando a função pop().

# Initialize a list with string elements from 'a' to 'd'
my_list = ["a", "b", "c", "d"]

# Remove and return the element at index -1 (the last element) from the list
removed_item = my_list.pop(-1)

# Print the updated list after removing the last element
print(my_list)
print(removed_item)
['a', 'b', 'c']
d

Se um item estiver fora do intervalo da lista, a função pop() exibirá um IndexError. Para lidar com os índices fora do intervalo, você deve usar o bloco try-except.

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Attempt to remove and return the element at index 10
# This will raise an IndexError because index 10 is out of range for the list
try:
    removed_item = my_list.pop(10)
# Catch the IndexError exception if the index is out of range
except IndexError as e:
    print(e) 
pop index out of range

Confira nosso último tutorial sobre Como usar o método pop() do Python para saber mais sobre como remover elementos de uma lista usando esse método.

Usando a palavra-chave del

A palavra-chave del é útil para remover itens ou fatias de uma lista em Python. A sintaxe para remover um único item da lista é mostrada abaixo.

del list[index]

O exemplo abaixo mostra como você pode remover um único item de uma lista usando a palavra-chave del.

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Remove item at index 2
del my_list[2]
print(my_list)
[1, 2, 4, 5]

Da mesma forma, a palavra-chave del oferece a funcionalidade de remover uma fatia de itens de uma lista. A sintaxe para a remoção de vários itens é mostrada abaixo, onde você pode ver:

  • start indica o início do índice do fatiamento.

  • end indica o fim do índice do fatiamento.

del list[start:end]

O exemplo abaixo mostra a técnica de fatiamento para remover vários itens de uma lista usando a palavra-chave del.

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Delete the elements from index 1 to index 2 (elements 2 and 3) from the list
# This modifies the list to [1, 4, 5]
del my_list[1:3]
print(my_list) 
[1, 4, 5]

A palavra-chave del também remove vários itens de uma lista usando o método de etapas. A sintaxe do método de etapa é mostrada a seguir, onde você pode ver:

  • start indica o início do índice do fatiamento.

  • end indica o fim do índice do fatiamento.

  • step mostra os intervalos entre os cortes (1 por padrão).

del list[start:end:step]

O exemplo abaixo mostra como você pode remover itens de uma lista usando o método de etapas.

# Initialize a list with integers from 1 to 8
my_list = [1, 2, 3, 4, 5, 6, 7, 8]

# Delete elements from the list using slicing with a step of 2
del my_list[::2]
print(my_list)
[2, 4, 6, 8]

As vantagens de usar a palavra-chave del para remover itens da lista incluem o seguinte:

  • Eficiência: A palavra-chave del é eficiente em termos de memória, pois permite que você remova itens no local, melhorando o desempenho.

  • Versatilidade: Usando o método de etapas, a palavra-chave del é útil para remover itens únicos, fatias ou itens e vários elementos de uma lista.

No entanto, as possíveis armadilhas do uso da palavra-chave del para remover itens de uma lista incluem erros de indexação, especialmente quando um item está fora do intervalo. Portanto, é importante usar o bloco try-except para capturar o IndexError.

# Initialize a list with integers 1, 2, and 3
my_list = [1, 2, 3]

# Attempt to delete the element at index 5
# This will raise an IndexError because index 5 is out of range for the list
try:
    del my_list[5]
# Catch the IndexError exception if the index is out of range
except IndexError as e:
    print(e) 
list assignment index out of range

Ao usar as palavras-chave del, você deve ter cuidado ao especificar as fatias para evitar exclusões não intencionais, que podem ser difíceis de depurar.

Usando compreensões de lista

Como seção final, podemos considerar as compreensões de lista. As compreensões de lista podem ser usadas para criar novas listas a partir de uma lista existente, excluindo alguns itens. Essa técnica é melhor usada quando você remove um item de uma lista com base em condições específicas. 

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Create a new list that includes all items from my_list except for the value 3
new_list = [item for item in my_list if item != 3]
print(new_list)
[1, 2, 4, 5]

Da mesma forma, as compreensões de lista podem ser usadas para remover itens com base em uma condição. O exemplo abaixo mostra como você pode usar a compreensão de lista para remover números pares da lista original.

# Initialize a list of integers from 1 to 10
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Create a new list containing only the odd numbers from the original list
odd_numbers = [num for num in numbers if num % 2 != 0]
print(odd_numbers)
[1, 3, 5, 7, 9]

O uso da compreensão de lista em listas oferece flexibilidade ao lidar com cenários complexos, como a transformação de dados em um novo formato ou a criação de listas a partir de estruturas de dados existentes. 

O exemplo abaixo mostra como você pode usar a compreensão de lista para converter cadeias de caracteres em maiúsculas e filtrar itens específicos.

# Initialize a list of fruit names
words = ["apple", "banana", "cherry", "avocado", "grape"]

# Create a new list containing the uppercase versions of words that start with the letter 'a'
a_words_upper = [word.upper() for word in words if word.startswith("a")]
print(a_words_upper)
['APPLE', 'AVOCADO']

As compreensões de lista também podem ser usadas para achatar e realizar outras operações em compreensões de lista aninhadas. No exemplo abaixo, a compreensão de lista foi usada para achatar a lista e remover os números ímpares.

# Initialize a list containing sublists of integers
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# Create a flat list of even numbers by iterating through each sublist
# and checking if each number is even
flat_even_numbers = [num for sublist in list_of_lists for num in sublist if num % 2 == 0]
print(flat_even_numbers) 
[2, 4, 6, 8]

Tabela de comparação

Técnica Caso de uso Quando for útil
remove() Remover itens específicos de uma lista Ao remover itens de uma lista e lidar com duplicatas
pop() Remover e retornar itens de uma lista especificada Quando você quiser retornar o item removido da lista
del Remover itens ou partes de itens de uma lista Ao remover vários itens ou excluir elementos em uma lista
Compreensão da lista Criar uma nova lista com base na condição da lista existente Para operações de lista complexas, incluindo filtragem

Se você quiser entender mais sobre a manipulação de listas na análise de dados, siga nosso programa de carreira de Analista de dados com Python para aumentar suas habilidades analíticas.

Manipulação de várias ocorrências e condições

Ao trabalhar com listas em Python, você pode se deparar com cenários em que precisa remover várias ocorrências de itens de uma lista. Nessas condições, você precisará de um loop para iterar e remover os itens.

Usando loop e remove()

O exemplo a seguir mostra como você pode usar o loop e a função remove() para remover várias ocorrências de itens de uma lista.

# Initialize a list of integers
my_list = [1, 2, 3, 2, 4, 2, 5]

# Item to remove
item_to_remove = 2

# Loop to remove all occurrences
while item_to_remove in my_list:
    my_list.remove(item_to_remove)
print(my_list)
[1, 3, 4, 5]

Usando a compreensão de loop e lista

Você também pode usar um loop na compreensão de lista para remover várias ocorrências de um item de uma lista.

# Initialize a list of integers
my_list = [1, 2, 3, 2, 4, 2, 5]

# Item to remove
item_to_remove = 2

# List comprehension to remove all occurrences
new_list = [item for item in my_list if item != item_to_remove]
print(new_list)
[1, 3, 4, 5]

Conclusão

É essencial que você saiba quando e como aplicar os diferentes métodos de manipulação de listas em sua tarefa de análise. Além disso, certifique-se de que você saiba como detectar erros, lidar com casos extremos e usar métodos complexos na manipulação de listas. Incentivo você a experimentar os métodos discutidos acima em sua prática para encontrar a abordagem mais adequada para suas diferentes análises.

Se você quiser saber mais sobre Python para análise de dados, experimente nosso programa de habilidades Python Fundamentals, que tem um guia abrangente de manipulação e transformação de dados. Por fim, o programa de habilidades de programação Python e o programa de carreira de desenvolvedor Python da DataCamp oferecerão a você amplas habilidades para abrir um novo capítulo em sua carreira.

Perguntas frequentes

Como faço para remover um item de uma lista?

A função incorporada remove() é útil para remover a primeira ocorrência de um item em uma lista.

Como você lida com duplicatas em uma lista?

Você pode remover duplicatas em uma lista usando um loop na função remove() ou um loop na compreensão de lista.

Você pode remover itens durante a iteração de uma lista?

Você pode usar a compreensão de lista para remover itens de uma lista durante a iteração sobre ela.

Qual é a diferença entre as funções remove() e pop()?

A função remove() remove um item de uma lista e retorna a nova lista, enquanto a função pop() remove um item de uma lista e retorna a nova lista com o item removido.

Temas

Aprenda Python com a DataCamp

Course

Python Toolbox

4 hr
278.3K
Continue to build your modern Data Science skills by learning about iterators and list comprehensions.
See DetailsRight Arrow
Start Course
Ver maisRight Arrow
Relacionado

tutorial

Tutorial e exemplos de funções e métodos de lista do Python

Saiba mais sobre as funções e os métodos da Lista do Python. Siga exemplos de código para list() e outras funções e métodos Python agora!

Abid Ali Awan

7 min

tutorial

Python Copy List: O que você deve saber

Entenda como copiar listas em Python. Saiba como usar as funções copy() e list(). Descubra a diferença entre cópias superficiais e profundas.
Allan Ouko's photo

Allan Ouko

7 min

tutorial

Tutorial de indexação de lista Python()

Neste tutorial, você aprenderá exclusivamente sobre a função index().
Sejal Jaiswal's photo

Sejal Jaiswal

6 min

tutorial

Tutorial de compreensão de dicionário Python

Saiba tudo sobre a compreensão de dicionário do Python: como você pode usá-la para criar dicionários, substituir loops for (aninhados) ou funções lambda por map(), filter() e reduce(), ...!
Sejal Jaiswal's photo

Sejal Jaiswal

14 min

tutorial

Como aparar uma cadeia de caracteres em Python: Três métodos diferentes

Aprenda os fundamentos do corte de caracteres à esquerda e à direita de uma string em Python.
Adel Nehme's photo

Adel Nehme

5 min

tutorial

Tutorial de funções Python

Um tutorial sobre funções em Python que aborda como escrever funções, como chamá-las e muito mais!
Karlijn Willems's photo

Karlijn Willems

14 min

See MoreSee More