Effacer une liste en Python

Rayven Esplanada 30 janvier 2023
  1. Utilisez clear() pour effacer une liste en Python
  2. Définir une valeur de liste vide pour effacer une liste en Python
  3. Utilisez del et l’opérateur de tranche : pour effacer une liste en Python
  4. Multipliez la liste entière par 0 pour effacer une liste en Python
Effacer une liste en Python

Ce didacticiel montrera différentes façons d’effacer une liste en Python.

Utilisez clear() pour effacer une liste en Python

Le moyen le plus simple et le plus évident d’effacer une liste en Python est d’utiliser la méthode clear(), une méthode prédéfinie dans les listes Python.

Par exemple, initialisez une liste avec des valeurs entières et utilisez la fonction clear() pour effacer toutes les valeurs.

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

Production:

[1, 6, 11, 16]
[]
Noter
C’est une solution rapide et facile pour effacer une liste en Python, mais elle n’est compatible qu’avec les versions 3.3 et supérieures de Python.

Définir une valeur de liste vide pour effacer une liste en Python

Une autre façon d’effacer une variable de liste existante est de définir une liste vide pour la variable en utilisant une paire vide de crochets [].

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

lst = []
print(lst)

Production:

[1, 6, 11, 16]
[]

Bien que cela fasse également un travail rapide d’effacement d’une liste, cela ne supprimera pas les valeurs de la liste de la mémoire; à la place, il crée une nouvelle instance d’une liste et pointe vers l’instance nouvellement créée.

Si aucune autre variable ne pointe vers les valeurs précédentes de la variable de liste, ces variables seraient alors inaccessibles et seraient en place pour le garbage collection.

Cette situation peut être clarifiée si nous faisons pointer deux variables vers la même liste et définissons ensuite l’une de ces variables sur une liste vide.

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

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

Production:

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

La deuxième liste, lst2, a été définie sur la valeur lst, mais même après avoir défini la nouvelle valeur lst sur une liste vide, la liste lst2 conserve toujours les anciennes valeurs d’avant. Dans ce cas, les valeurs précédentes ne sont pas éligibles pour le garbage collection car il existe toujours une variable pointant vers elle.

Utilisez del et l’opérateur de tranche : pour effacer une liste en Python

Le mot-clé Python del permet de supprimer complètement les objets et leurs références en mémoire. Le mot-clé del permet de supprimer des objets Python, des itérables, des portions de listes, etc.

L’opérateur deux-points : en Python est un opérateur utilisé pour découper des tableaux en parties qui accepte deux arguments entiers.

L’opérateur : permet d’obtenir la référence réelle de la liste à supprimer.

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

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

Une autre solution qui fera la même chose sans utiliser le mot-clé del serait de définir la liste comme une liste vide mais d’utiliser l’opérateur : pour remplacer la référence précédente par la liste vide.

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

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

Le résultat des deux solutions est le suivant:

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

De l’exemple précédent, il est noté que la définition d’une variable de liste existante sur une liste vide ne supprime pas réellement les valeurs précédentes. Cette solution supprimera complètement les valeurs précédentes même si d’autres variables pointent vers la même référence des valeurs dans la liste principale.

Multipliez la liste entière par 0 pour effacer une liste en Python

La méthode la plus rapide pour effacer une liste serait de multiplier la liste entière par 0. Multiplier la variable de liste elle-même par 0 effacera la liste et effacera sa référence précédente en mémoire.

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

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

Production:

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

Cette méthode est la solution la plus rapide parmi toutes les solutions mentionnées.

En résumé, le moyen le plus évident d’effacer une liste est d’utiliser la fonction intégrée clear() dans les listes, bien que la solution la plus rapide serait de multiplier la variable de liste par la valeur 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

Article connexe - Python List