Python >> Tutoriel Python >  >> Python

list.clear() vs New List — Pourquoi effacer une liste plutôt que d'en créer une nouvelle ?

Problème :Vous venez de découvrir le list.clear() méthode en Python. Vous vous demandez quel est son but ? Pourquoi ne pas créer une nouvelle liste et écraser la variable au lieu d'effacer une liste existante ?

Exemple :Dites, vous avez la liste suivante.

lst = ['Alice', 'Bob', 'Carl']

Si vous effacez la liste, elle devient vide :

lst.clear()
print(lst)
# []

Cependant, vous auriez pu accomplir la même chose en affectant simplement une nouvelle liste vide à la variable lst :

lst = ['Alice', 'Bob', 'Carl']
lst = []
print(lst)
# []

La sortie est la même. Pourquoi le list.clear() méthode existe en premier lieu ?

Si vous parcourez le visualiseur de mémoire interactif suivant, vous verrez que les deux variantes conduisent à des résultats différents si vous avez plusieurs variables pointant vers l'objet de liste :

Dans le deuxième exemple, la variable lst_2 pointe toujours vers un objet liste non vide !

Donc, il y a au moins deux raisons pour lesquelles le list.clear() méthode peut être supérieure à la création d'une nouvelle liste :

  • Libérer de la mémoire : Si vous avez une longue liste qui remplit votre mémoire, comme un énorme ensemble de données ou un gros fichier lu via readlines() —et vous n'en avez plus besoin, vous pouvez immédiatement libérer la mémoire avec list.clear() . Surtout en mode interactif, Python ne sait pas de quelle variable vous avez encore besoin - il doit donc conserver toutes les variables jusqu'à la fin de la session. Mais si vous appelez list.clear() , il peut libérer de la mémoire pour d'autres tâches de traitement.
  • Effacer plusieurs variables de liste : Plusieurs variables peuvent faire référence au même objet de liste. Si vous voulez refléter que la liste est maintenant vide, vous pouvez soit appeler list.clear() sur une variable et toutes les autres variables le verront, ou vous devez appeler var1 = [], var2 = [], ..., varn = [] pour toutes les variables. Cela peut être pénible si vous avez de nombreuses variables.

Voulez-vous développer les compétences d'un professionnel Python complet —tout en étant payé dans le processus ? Devenez freelance Python et commandez votre livre Leaving the Rat Race with Python sur Amazon (Kindle/Print ) !


Prochain article