Limpar uma lista em Python

Rayven Esplanada 30 janeiro 2023
  1. Use clear() para limpar uma lista em Python
  2. Defina um valor de lista vazia para limpar uma lista em Python
  3. Use del e o Slice Operator : para limpar uma lista em Python
  4. Multiplique a lista inteira por 0 para limpar uma lista em Python
Limpar uma lista em Python

Este tutorial demonstrará diferentes maneiras de limpar uma lista em Python.

Use clear() para limpar uma lista em Python

A maneira mais fácil e óbvia de limpar uma lista em Python é usar o método clear(), um método predefinido nas listas Python.

Por exemplo, inicialize uma lista com valores inteiros e use a função clear() para apagar todos os valores.

lst = [1, 6, 11, 16]
print(lst)
lst.clear()
print(lst)

Resultado:

[1, 6, 11, 16]
[]
Nota
Esta é uma solução rápida e fácil para limpar uma lista em Python, mas só é compatível com as versões 3.3 e superiores do Python.

Defina um valor de lista vazia para limpar uma lista em Python

Outra maneira de limpar uma variável de lista existente é definir uma lista vazia para a variável usando um par vazio de colchetes [].

lst = [1, 6, 11, 16]
print(lst)

lst = []
print(lst)

Resultado:

[1, 6, 11, 16]
[]

Embora isso também faça um trabalho rápido de limpar uma lista, isso não removerá os valores da lista da memória; em vez disso, ele cria uma nova instância de uma lista e aponta para a instância recém-criada.

Se nenhuma outra variável estiver apontando para os valores anteriores da variável de lista, então essas variáveis ​​seriam inacessíveis e seriam enviadas para a coleta de lixo.

Esta situação pode ficar clara se fizermos com que duas variáveis ​​apontem para a mesma lista e definirmos uma dessas variáveis ​​para uma lista vazia posteriormente.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst = []
print(lst)
print(lst2)

Resultado:

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[1, 6, 11, 16]

A segunda lista, lst2, foi definida com o valor de lst, mas mesmo depois de definir o novo valor lst para uma lista vazia, a lista lst2 ainda retém os valores antigos de antes. Nesse caso, os valores anteriores não são elegíveis para coleta de lixo, pois ainda há uma variável apontando para eles.

Use del e o Slice Operator : para limpar uma lista em Python

A palavra-chave Python del é usada para deletar objetos e suas referências na memória completamente. A palavra-chave del é usada para excluir objetos Python, iteráveis, partes de listas, etc.

O operador de dois pontos : em Python é um operador usado para dividir arrays em partes que aceita dois argumentos inteiros.

O operador : é usado para obter a referência real da lista para exclusão.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

del lst[:]
print(lst)
print(lst2)

Outra solução que fará a mesma coisa sem usar a palavra-chave del seria definir a lista como uma lista vazia, mas usar o operador : para substituir a referência anterior pela lista vazia.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst[:] = []
print(lst)
print(lst2)

O resultado de ambas as soluções é o seguinte:

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[]

No exemplo anterior, é observado que definir uma variável de lista existente para uma lista vazia não exclui realmente os valores anteriores. Esta solução excluirá completamente os valores anteriores, mesmo se outras variáveis ​​apontarem para a mesma referência dos valores na lista principal.

Multiplique a lista inteira por 0 para limpar uma lista em Python

O método mais rápido de limpar uma lista seria multiplicar a lista inteira por 0. Multiplicar a própria variável de lista por 0 limpará a lista e limpará sua referência anterior na memória.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst *= 0
print(lst)
print(lst2)

Resultado:

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[]

Este método é a solução de desempenho mais rápida de todas as soluções mencionadas.

Em resumo, a maneira mais óbvia de limpar uma lista é usar a função integrada clear() nas listas, embora a solução de desempenho mais rápida seja multiplicar a variável da lista pelo valor 0.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

Artigo relacionado - Python List