Accéder au contenu principal

Comment supprimer un élément d'une liste en Python

Comprendre comment supprimer des éléments d'une liste en Python. Familiarisez-vous avec des méthodes telles que remove(), pop() et del pour la gestion des listes.
Actualisé 15 janv. 2025  · 7 min de lecture

Les listes apparaissent fréquemment dans la programmation Python, et ce pour de bonnes raisons. Ils aident les analystes à organiser, gérer et traiter les données. Par exemple, leur taille augmente ou diminue dynamiquement lorsque les données ont une longueur variable. Les listes peuvent également être facilement converties en d'autres types ou structures de données, comme les tuples ou les tableaux. Ils sont même utilisés comme éléments constitutifs d'algorithmes plus avancés qui nécessitent de rechercher, de trier et d'itérer dans les données.

Python étant un langage de programmation polyvalent, il existe de nombreuses façons de supprimer un élément d'une liste en Python. Dans ce tutoriel, nous examinerons quelques méthodes clés, notamment les fonctions intégrées telles que remove() et pop(), les compréhensions de liste et le mot-clé del.

Si vous êtes un analyste de données ou un data scientist en herbe, je vous recommande vivement de suivre le cours Introduction à Python de DataCamp pour apprendre les compétences de base de la programmation Python. L'antisèche Python pour les débutants sera également une référence utile pour maîtriser la syntaxe des différentes fonctions Python. 

3 méthodes rapides pour supprimer des éléments d'une liste

Vous pouvez utiliser l'une des méthodes suivantes pour supprimer un élément d'une liste. Dans le premier cas, nous pouvons utiliser la fonction 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)

Nous pouvons également utiliser la fonction pop()

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

Nous pouvons également utiliser le mot-clé del.

# Remove item at index 4
del my_list[4]

Dans chacun des cas ci-dessus, la nouvelle liste sera [1, 2, 3, 4] après la suppression de l'élément.

Comprendre les listes en Python

Les listes Python sont des collections ordonnées d'éléments utilisées pour stocker n'importe quel type de données. Les listes Python sont polyvalentes et dynamiques, et permettent différents types de manipulation de données. En raison de leur flexibilité, les listes en Python ont les cas d'utilisation suivants :

  • Stockage des données : Les listes sont utilisées pour stocker des collections d'éléments, tels que des chaînes de caractères, des nombres et des objets.
  • Manipulation de données : Les listes peuvent être utilisées pour diverses tâches de manipulation et de transformation des données, y compris l'ajout, la suppression ou la modification d'éléments. 
  • L'itération : Les listes sont utilisées en itération pour accéder à chaque élément et le traiter de manière séquentielle.

Il est également important de savoir que les listes Python sont mutables, c'est-à-dire qu'elles peuvent être modifiées même après leur création. Il est donc possible d'ajouter, de supprimer ou de modifier les éléments de la liste en fonction des besoins.

Techniques détaillées pour supprimer des éléments d'une liste en Python

Python propose différentes méthodes pour supprimer des éléments d'une liste. Ces techniques comprennent la méthode intégrée, les mots-clés et les compréhensions de liste.

Utilisation de la fonction remove()

La fonction remove() est la méthode intégrée de Python pour supprimer un élément d'une liste. La fonction remove() est illustrée ci-dessous.

list.remove(item)

Vous trouverez ci-dessous un exemple de base de l'utilisation de la fonction remove(). La fonction supprime de la liste l'élément dont la valeur est 3.

La fonction remove() ne supprimera la première occurrence d'un élément dans une liste que s'il existe des doublons dans la même liste. Dans l'exemple suivant, la fonction remove() ne supprime de la liste que la première occurrence de 3.

# 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]

La fonction remove() renvoie une erreur de valeur si un élément ne figure pas dans la liste. Il est donc important d'ajouter une exception pour gérer de tels scénarios. Le code ci-dessous montre un exemple de capture d'erreur pour les éléments ne figurant pas dans la liste.

# 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

Utilisation de la fonction pop()

La fonction pop() supprime un élément d'une liste en fonction de son indice. La syntaxe de la fonction pop() est présentée ci-dessous.

list.pop(index)

L'exemple ci-dessous montre comment utiliser la fonction pop() pour supprimer un élément spécifique d'une liste en spécifiant l'index. Notez que vous pouvez stocker l'élément supprimé dans une nouvelle liste et la renvoyer.

# 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

Si vous ne précisez pas l'indice de l'élément à supprimer de la liste, la fonction pop() supprimera par défaut le dernier élément de la liste.

Si vous souhaitez supprimer le premier élément d'une liste en Python, vous spécifierez l'indice sous la forme 0 à l'aide de la fonction 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

De même, si vous souhaitez supprimer le dernier élément d'une liste, vous devez spécifier le dernier indice comme étant -1 en utilisant la fonction 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

Si un élément est hors de portée de la liste, la fonction pop() déclenchera une alerte IndexError. Pour gérer les indices hors plage, vous devez utiliser le bloc 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

Consultez notre dernier tutoriel sur Comment utiliser la méthode pop() de Python pour en savoir plus sur la suppression d'éléments d'une liste à l'aide de cette méthode.

Utilisation du mot-clé del

Le mot-clé del est utile pour supprimer des éléments ou des tranches d'une liste en Python. La syntaxe permettant de supprimer un seul élément de la liste est présentée ci-dessous.

del list[index]

L'exemple ci-dessous montre comment supprimer un seul élément d'une liste à l'aide du mot-clé 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]

De même, le mot-clé del permet de supprimer une tranche d'éléments d'une liste. La syntaxe pour supprimer plusieurs éléments est indiquée ci-dessous où :

  • start indique le début de l'index du découpage.

  • end indique la fin de l'index du découpage.

del list[start:end]

L'exemple ci-dessous illustre la technique de découpage consistant à supprimer plusieurs éléments d'une liste à l'aide du mot-clé 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]

Le mot-clé del permet également de supprimer plusieurs éléments d'une liste à l'aide de la méthode par étapes. La syntaxe de la méthode par étapes est illustrée ci-dessous :

  • start indique le début de l'index du découpage.

  • end indique la fin de l'index du découpage.

  • step indique les intervalles entre les tranches (1 par défaut).

del list[start:end:step]

L'exemple ci-dessous montre comment supprimer des éléments d'une liste à l'aide de la méthode par étapes.

# 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]

Les avantages de l'utilisation du mot-clé del pour supprimer des éléments de la liste sont les suivants :

  • Efficacité: Le mot-clé del permet d'économiser de la mémoire en vous permettant de supprimer des éléments en place, ce qui améliore les performances.

  • Polyvalence: En utilisant la méthode par étapes, le mot-clé del est utile pour supprimer des éléments uniques, des tranches d'éléments et des éléments multiples d'une liste.

Toutefois, l'utilisation du mot-clé del pour supprimer des éléments d'une liste peut entraîner des erreurs d'indexation, en particulier lorsqu'un élément est hors de portée. C'est pourquoi il est important d'utiliser le bloc try-except pour attraper le 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

Lorsque vous utilisez les mots-clés del, vous devez être prudent lorsque vous spécifiez les tranches afin d'éviter les suppressions involontaires, qui peuvent être difficiles à déboguer.

Utilisation des compréhensions de listes

Dans une dernière section, nous pouvons considérer les compréhensions de listes. Les compréhensions de listes peuvent être utilisées pour créer de nouvelles listes à partir d'une liste existante, en excluant certains éléments. Cette technique est utilisée de préférence pour supprimer un élément d'une liste en fonction de conditions spécifiques. 

# 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]

De même, les compréhensions de liste peuvent être utilisées pour supprimer des éléments en fonction d'une condition. L'exemple ci-dessous montre comment utiliser les compréhensions de liste pour supprimer les nombres pairs de la liste d'origine.

# 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]

L'utilisation de la compréhension de liste dans les listes offre une certaine souplesse lors de la gestion de scénarios complexes, tels que la transformation de données dans un nouveau format ou la création de listes à partir de structures de données existantes. 

L'exemple ci-dessous montre comment utiliser la compréhension de liste pour convertir des chaînes en majuscules et filtrer des éléments spécifiques.

# 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']

Les compréhensions de listes peuvent également être utilisées pour aplatir et effectuer d'autres opérations dans des compréhensions de listes imbriquées. Dans l'exemple ci-dessous, la compréhension de liste a été utilisée pour aplatir la liste et supprimer les nombres impairs.

# 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]

Tableau de comparaison

Technique Cas d'utilisation Quand c'est utile
supprimer() Supprimer des éléments spécifiques d'une liste Lors de la suppression d'éléments d'une liste et de la gestion des doublons
pop() Retirer et renvoyer des éléments d'une liste spécifiée Lorsque vous souhaitez renvoyer l'élément supprimé de la liste
del Supprimer des éléments ou des tranches d'éléments d'une liste Lors de la suppression de plusieurs éléments ou de la suppression d'éléments dans une liste
Compréhension de la liste Créer une nouvelle liste basée sur la condition de la liste existante Pour les opérations de liste complexes, y compris le filtrage

Si vous souhaitez mieux comprendre la manipulation de listes dans l'analyse de données, parcourez notre parcours Analyste de données avec Python pour développer vos compétences analytiques.

Gestion des occurrences et conditions multiples

Lorsque vous travaillez avec des listes en Python, vous pouvez rencontrer des scénarios dans lesquels vous devez supprimer plusieurs occurrences d'éléments d'une liste. Dans ces conditions, vous aurez besoin d'une boucle pour itérer et supprimer les éléments.

Utilisation de la boucle et de remove()

L'exemple suivant montre comment utiliser la boucle et la fonction remove() pour supprimer plusieurs occurrences d'éléments d'une liste.

# 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]

Utilisation de la compréhension des boucles et des listes

Vous pouvez également utiliser une boucle dans la compréhension de liste pour supprimer plusieurs occurrences d'un élément d'une liste.

# 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]

Conclusion

Il est essentiel de savoir quand et comment appliquer les différentes méthodes de manipulation de listes dans votre tâche d'analyse. Assurez-vous également que vous savez comment détecter les erreurs, traiter les cas extrêmes et utiliser des méthodes complexes pour la manipulation des listes. Je vous encourage à expérimenter les méthodes décrites ci-dessus dans votre pratique afin de trouver l'approche la plus adaptée à vos différentes analyses.

Si vous souhaitez en savoir plus sur Python pour l'analyse de données, essayez notre cursus de compétences Fondamentaux de Python, qui contient un guide complet sur la manipulation et la transformation des données. Enfin, le cursus de compétences en programmation Python et le cursus de carrière de développeur Python de DataCamp vous offriront des compétences étendues pour ouvrir un nouveau chapitre dans votre carrière.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Je crée des articles qui simplifient la science des données et l'analyse, en les rendant faciles à comprendre et accessibles.

Questions fréquemment posées

Comment supprimer un élément d'une liste ?

La fonction intégrée remove() est utile pour supprimer la première occurrence d'un élément dans une liste.

Comment gérer les doublons dans une liste ?

Vous pouvez supprimer les doublons dans une liste en utilisant une boucle dans la fonction remove() ou une boucle dans la compréhension de la liste.

Pouvez-vous supprimer des éléments lors de l'itération d'une liste ?

Vous pouvez utiliser la compréhension de liste pour supprimer des éléments d'une liste tout en la parcourant.

Quelle est la différence entre les fonctions remove() et pop() ?

La fonction remove() supprime un élément d'une liste et renvoie la nouvelle liste, tandis que la fonction pop() supprime un élément d'une liste et renvoie la nouvelle liste avec l'élément supprimé.

Sujets

Apprenez Python avec DataCamp

cours

Python Toolbox

4 hr
287.1K
Continue to build your modern Data Science skills by learning about iterators and list comprehensions.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 min

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles. Il couvre tous les domaines, garantissant ainsi une stratégie de préparation bien équilibrée.
Zoumana Keita 's photo

Zoumana Keita

30 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

Voir plusVoir plus