Accéder au contenu principal

Un guide complet des listes vides en Python

Apprenez les principales opérations sur les listes et les cas d'utilisation des listes vides en Python.
Actualisé 14 nov. 2024  · 5 min de lecture

Python, avec ses structures de données polyvalentes, se distingue comme un outil puissant pour les développeurs et les data scientists. Parmi ces structures, les listes occupent une place particulière en raison de leur nature dynamique et de leur facilité d'utilisation. Cet article approfondit le concept des listes vides en Python, en explorant leur création, les cas d'utilisation courants et les opérations, en s'attachant à fournir des explications claires, étape par étape, et des exemples pratiques.

Si vous souhaitez obtenir plus d'informations sur le sujet, consultez notre tutoriel complet sur les listes Python.

La réponse courte ; Comment créer une liste vide en Python

Pour les plus pressés, la création d'une liste vide en Python est aussi simple que l'utilisation des crochets []. Cette méthode concise est non seulement facile à mémoriser, mais aussi efficace pour initialiser une liste en vue d'opérations ultérieures. Voici un exemple de création d'une liste vide appelée my_list et d'ajout (abordé plus en détail plus loin) des mots "Python" et "Rocks" à cette liste.

# Create an empty list called my_list
my_list = []
# Append the words 'Python' and 'Rocks' to it
my_list.append('Python')
my_list.append('Rocks')

# my_list is now ['Python', 'Rocks']

Création de listes vides en Python : Deux méthodes à utiliser

Bien que la brève section ci-dessus ait présenté l'utilisation des crochets [] comme une méthode rapide pour initialiser une liste vide, il vaut la peine d'explorer cette technique plus en détail pour en apprécier l'élégance et l'efficacité. En outre, Python offre également une alternative plus explicite qui s'aligne sur certains styles de codage et exigences de clarté.

Méthode 1 : Création de listes vides à l'aide de []

L'utilisation des crochets [] pour créer une liste vide témoigne de la philosophie de conception de Python, qui met l'accent sur la simplicité et la lisibilité. Il représente un point de départ propre et intuitif pour les opérations sur les listes. Voici un rappel de la façon d'initialiser une liste vide à l'aide de []:

# Initializing an empty list with square brackets
my_empty_list = []

Méthode 2 : En utilisant la fonction intégrée de Python list() function

Python propose également une fonction intégrée list() qui, lorsqu'elle est appelée sans aucun argument, renvoie une liste vide. Cette méthode est tout aussi efficace, bien que légèrement plus verbeuse. Elle peut être particulièrement utile lorsque la lisibilité et l'explicitation du code sont prioritaires. En voici un exemple :

# Create an empty list using the list() function
my_empty_list = list()

Opérations courantes sur les listes vides

Comprendre comment manipuler les listes vides est crucial pour une programmation Python efficace. Voici quelques opérations clés que vous devrez certainement utiliser lorsque vous travaillerez avec des listes vides.

Ajouter des éléments à une liste vide à l'aide de .append()

Une liste vide n'est pas très utile si vous ne pouvez pas y ajouter d'éléments. Pour ajouter un élément à la fin d'une liste, il suffit d'utiliser la méthode .append(). Ici, par exemple, nous initialisons une liste vide et ajoutons les mots 'Python', ’Rocks!’, et 'It’s easy to learn!' à la liste my_list.

# Initialize an empty list
my_list = []

# Append elements
my_list.append('Python')
my_list.append('Rocks!')
my_list.append('It’s easy to learn!')

# `my_list` is now ['Python', 'Rocks!', 'It’s easy to learn!']

Insertion d'un élément à un endroit précis d'une liste à l'aide de la fonction .insert()

L'inconvénient de .append() est qu'il n'ajoute des éléments qu'à la fin d'une liste, ce qui signifie que nous n'avons aucun contrôle sur l'endroit exact où insérer un nouvel élément lorsque nous utilisons .append(). La méthode .insert(), en revanche, nous permet de faire exactement cela. Nous reprenons ici l'exemple de la section précédente et insérons 'Truly' entre 'Python' et 'Rocks!'. Notez que Python utilise l'indexation basée sur le zéro, ce qui signifie que l'indice du premier élément de la liste est 0. Consultez l'exemple pour plus de détails :

# Initialize an empty list
my_list = []

# Append elements
my_list.append('Python')
my_list.append('Rocks!')
my_list.append('It’s easy to learn!')

# `my_list` is now ['Python', 'Rocks!', 'It’s easy to learn!']

# Showcase zero-based indexing in Python
my_list[0] # Returns 'Python'
my_list[1] # Returns 'Rocks'
my_list[2] # Returns 'It's easy to learn!'

# Use the .insert() method to insert ’Truly’ between ’Python’ and ’Rocks!’
my_list.insert(1, 'Truly')
# `my_list` is now ['Python', 'Truly', 'Rocks', 'It’s easy to learn!']

Ajout de plusieurs éléments à l'aide de .extend()

Alors que les méthodes .append() et .insert() sont parfaites pour ajouter des éléments individuels à une liste, .extend() nous permet d'ajouter plusieurs éléments à la fois. Cela peut s'avérer particulièrement utile lorsque vous souhaitez fusionner deux listes ou ajouter une collection d'éléments sans les parcourir. Sur la base de l'exemple précédent, ajoutons quelques mots descriptifs à notre my_list pour rendre notre phrase plus intéressante :

# Reminder that `my_list` is ['Python', 'Truly', 'Rocks', 'It’s easy to learn!']

# Extend my_list with ['and', 'fun', 'to', 'use!']
my_list.extend(['and', 'fun', 'to', 'use!'])

# `my_list` is now ['Python', 'Truly', 'Rocks!', 'It’s easy to learn!', 'and', 'fun', 'to', 'use!']

Dans cet exemple, .extend() prend un itérable (comme une liste, un ensemble ou un tuple) et ajoute chacun de ses éléments à la fin de my_list, développant ainsi notre phrase.

Concaténation de listes à l'aide de +

Une autre façon d'ajouter des éléments d'une liste à une autre est d'utiliser l'opérateur +, qui concatène deux listes. Cette méthode est simple et ne modifie pas les listes originales, mais crée une nouvelle liste. Concaténons une nouvelle liste avec notre liste existante my_list:

# Define a new list to concatenate
additional_words = ['Python is also', 'very versatile.']

# Concatenate lists using +
complete_sentence = my_list + additional_words

# `complete_sentence` now contains the elements of both lists
# `complete_sentence` is now ['Python', 'Truly', 'Rocks!', 'It’s easy to learn!', 'and', 'fun', 'to', 'use!', 'Python is also', 'very versatile.']

Dans cet exemple, .extend() prend un itérable (comme une liste, un ensemble ou un tuple) et ajoute chacun de ses éléments à la fin de my_list, développant ainsi notre phrase.

Copier des listes à l'aide de .copy()

La copie d'une liste est indispensable lorsque vous souhaitez conserver la liste d'origine avant de modifier sa copie. La méthode .copy() crée une copie superficielle de la liste, c'est-à-dire qu'elle duplique la liste elle-même, mais pas les objets profonds qu'elle contient. Faisons une copie de my_list:

# Make a copy of `my_list`
my_list_copy = my_list.copy()

# Verify that `my_list_copy` is a separate object
assert my_list_copy is not my_list  # This will pass, confirming they are different objects

L'utilisation de .copy() garantit que les modifications apportées à la liste copiée n'affectent pas la liste d'origine.

Effacer la liste en utilisant .clear()

Il peut arriver que vous deviez remettre une liste à l'état vide, en supprimant tous ses éléments. La méthode .clear() vous permet justement de le faire, en modifiant la liste en place. Clarifions le site my_list:

# Clear all elements from `my_list`
my_list.clear()

# `my_list` is now an empty list again
assert len(my_list) == 0  # This will pass, confirming the list is empty

La méthode .clear() est particulièrement utile dans les cas où vous devez réutiliser ou réinitialiser la liste sans créer un nouvel objet liste.

Cas d'utilisation courants pour l'initialisation de listes vides en Python

Les listes vides sont des éléments nécessaires dans divers scénarios de programmation. La compréhension de leurs applications peut considérablement améliorer l'efficacité du codage et les compétences en matière de résolution de problèmes.

Stockage dynamique de données dans une liste vide

Dans les situations où la quantité ou le type de données est imprévisible, les listes vides se révèlent être des conteneurs flexibles pour l'accumulation dynamique d'informations. Considérez un programme qui lit les entrées de l'utilisateur jusqu'à ce qu'une condition spécifique soit remplie. Ici, nous ne connaissons pas le nombre d'entrées utilisateur que nous pourrions recevoir, et en utilisant la méthode .append(), nous sommes en mesure d'ajouter des éléments à la liste user_response de manière dynamique.

# Initialize an empty list to store user input
user_responses = []

# Collect user input in a loop
while True:
    response = input("Enter your response (or type 'exit' to finish): ")
    if response.lower() == 'exit':
        break
    user_responses.append(response)

# User responses are now stored in `user_responses`

Stocker les résultats dans une liste vide à partir d'un For boucle

Lorsque vous travaillez avec des boucles, les listes vides s'avèrent précieuses pour compiler les résultats générés à chaque itération. Voici un exemple dans lequel nous stockons les nombres pairs au fur et à mesure que nous parcourons la plage de 0 à 20.

# Initialize an empty list to store even numbers
even_numbers = []

# Loop through a range of numbers and store even ones
for number in range(21):  # Upper limit 21 to include 20 in the range
    if number % 2 == 0: # if remainder when divided by 2 =0, store it in empty list
        even_numbers.append(number)

# `even_numbers` now contains even numbers from 0 to 20

Stocker les résultats des fonctions dans des listes vides

Lors de la conception de fonctions avec des valeurs de retour variables, l'initialisation et le renvoi d'une liste vide permettent de gérer élégamment les scénarios sans résultats. Ici, par exemple, nous parcourons une liste de mots et stockons les mots commençant par "A" dans une liste vide.

def find_strings_starting_with_a(strings):
    # Initialize an empty list to store strings that start with 'A'
    strings_starting_with_a = []
    
    # Iterate over the input list and append strings that start with 'A' to `strings_starting_with_a`
    for string in strings:
        if string.startswith('A'):
            strings_starting_with_a.append(string)
    
    return strings_starting_with_a

# Example usage
result = find_strings_starting_with_a(['Assert', 'Import', 'Function', 'Array', 'Arguments'])

# 'result' will contain ['Assert', 'Array', 'Arguments']

Conclusion

En résumé, la maîtrise des listes vides et de leurs opérations est cruciale dans la programmation Python, permettant une manipulation polyvalente des données. Grâce à l'ajout, l'insertion, l'extension, la concaténation, la copie et l'effacement, nous avons vu comment gérer efficacement les listes dans des scénarios pratiques. Ces compétences fondamentales constituent l'épine dorsale du codage Python, vous permettant de vous attaquer à des problèmes plus complexes avec aisance et créativité.

Vous pouvez en apprendre davantage sur les listes Python et sur de nombreuses autres fonctions utiles dans notre cursus de compétences sur les principes fondamentaux de Python - commencez dès aujourd'hui !


Photo of Adel Nehme
Author
Adel Nehme
LinkedIn

Adel est un éducateur, conférencier et évangéliste en science des données à DataCamp où il a publié plusieurs cours et formations en direct sur l'analyse des données, l'apprentissage automatique et l'ingénierie des données. Il est passionné par la diffusion des compétences en matière de données dans les organisations et par l'intersection de la technologie et de la société. Il est titulaire d'une maîtrise en science des données et en analyse commerciale. Pendant son temps libre, vous pouvez le trouver en train de traîner avec son chat Louis.

Sujets

Continuez à apprendre Python !

cursus

Principes de base de Python

15 heures hr
Développez vos compétences de programmeur. Découvrez comment manipuler des dictionnaires et des DataFrame, visualiser des données du monde réel et écrire vos propres fonctions Python.
Afficher les détailsRight Arrow
Commencer Le Cours
Certification disponible

cours

Introduction à Python

4 hr
5.5M
Maîtrisez les bases de l'analyse de données avec Python en seulement quatre heures. Ce cours en ligne vous présentera l'interface Python et explorera les packages populaires.
Voir plusRight Arrow