Lenaick Sorimoutou

Retour

8. Structures de données en Python

Découvrez les structures de données essentielles en Python : listes, tuples, dictionnaires et ensembles.

PYTHON pour les DÉBUTANTS #8#

Les structures de données en Python#

Explication

Les structures de données sont des moyens d’organiser et de stocker des informations dans votre programme Python. Elles permettent de gérer efficacement vos données et de les manipuler selon vos besoins.

Les listes (Lists)#

Définition

Les listes sont des collections ordonnées et modifiables d’éléments. Elles peuvent contenir des valeurs de n’importe quel type et permettent des doublons.

Création d’une liste#

Création de listes
# Liste vide
ma_liste = []
# Liste avec des éléments
fruits = ["pomme", "banane", "orange"]
nombres = [1, 2, 3, 4, 5]

Accès aux éléments#

Accès aux éléments d'une liste
fruits = ["pomme", "banane", "orange"]
# Premier élément (index 0)
print(fruits[0]) # "pomme"
# Dernier élément
print(fruits[-1]) # "orange"
# Slicing
print(fruits[1:3]) # ["banane", "orange"]
Important

En Python, les indices commencent à 0, pas à 1. Le premier élément d’une liste est donc liste[0]. Les indices négatifs permettent d’accéder aux éléments depuis la fin : -1 pour le dernier élément, -2 pour l’avant-dernier, etc.

Modification des listes#

Méthodes de modification des listes
fruits = ["pomme", "banane"]
# Ajouter un élément
fruits.append("orange")
print(fruits) # ["pomme", "banane", "orange"]
# Insérer un élément
fruits.insert(1, "kiwi")
print(fruits) # ["pomme", "kiwi", "banane", "orange"]
# Supprimer un élément
fruits.remove("banane")
print(fruits) # ["pomme", "kiwi", "orange"]

Les tuples (Tuples)#

Définition

Les tuples sont des collections ordonnées et non modifiables d’éléments. Une fois créés, leur contenu ne peut pas être changé.

Création d’un tuple#

Création de tuples
# Tuple vide
mon_tuple = ()
# Tuple avec des éléments
coordonnees = (10, 20)
couleurs = ("rouge", "vert", "bleu")

Utilisation des tuples#

Déballage de tuples
coordonnees = (10, 20)
x, y = coordonnees # Déballage du tuple
print(f"X: {x}, Y: {y}") # X: 10, Y: 20
Conseil

Utilisez les tuples quand vous avez besoin de données qui ne doivent jamais changer (coordonnées, configurations, constantes). Leur immutabilité les rend plus sûrs et plus performants que les listes dans certains cas.

Les dictionnaires (Dictionaries)#

Définition

Les dictionnaires stockent des paires clé-valeur et permettent un accès rapide aux données. Chaque clé doit être unique dans le dictionnaire.

Création d’un dictionnaire#

Création de dictionnaires
# Dictionnaire vide
mon_dict = {}
# Dictionnaire avec des éléments
personne = {
"nom": "Alice",
"age": 25,
"ville": "Paris"
}

Accès aux valeurs#

Accès aux valeurs d'un dictionnaire
personne = {"nom": "Alice", "age": 25}
# Accès par clé
print(personne["nom"]) # "Alice"
print(personne.get("age")) # 25
# Vérifier si une clé existe
if "ville" in personne:
print(personne["ville"])
Attention

Utiliser dictionnaire[cle] lèvera une erreur si la clé n’existe pas. Préférez dictionnaire.get(cle) qui retourne None par défaut si la clé est absente, ou dictionnaire.get(cle, valeur_par_defaut) pour spécifier une valeur par défaut.

Modification des dictionnaires#

Modification de dictionnaires
personne = {"nom": "Alice", "age": 25}
# Ajouter une nouvelle clé-valeur
personne["ville"] = "Paris"
# Modifier une valeur existante
personne["age"] = 26
# Supprimer une clé
del personne["ville"]

Les ensembles (Sets)#

Définition

Les ensembles sont des collections non ordonnées d’éléments uniques. Ils sont particulièrement utiles pour éliminer les doublons et effectuer des opérations mathématiques ensemblistes.

Création d’un ensemble#

Création d'ensembles
# Ensemble vide
mon_ensemble = set()
# Ensemble avec des éléments
couleurs = {"rouge", "vert", "bleu"}
nombres = {1, 2, 3, 4, 5}

Opérations sur les ensembles#

Opérations ensemblistes
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
# Union
union = set1 | set2
print(union) # {1, 2, 3, 4, 5, 6}
# Intersection
intersection = set1 & set2
print(intersection) # {3, 4}
# Différence
difference = set1 - set2
print(difference) # {1, 2}

Comparaison des structures de données#

StructureOrdonnéeModifiableDoublonsAccès
ListePar index
TuplePar index
DictionnairePar clé
EnsemblePar valeur
Explication

Chaque structure de données a ses avantages. Choisissez celle qui correspond le mieux à vos besoins :

  • list pour des collections ordonnées modifiables
  • tuple pour des données immuables
  • dict pour des données associatives
  • set pour des collections d’éléments uniques

Cas d’usage pratiques#

Liste : Gestion d’une liste de tâches#

Liste de tâches
taches = ["Réviser Python", "Faire les exercices", "Projet final"]
# Ajouter une tâche
taches.append("Préparer l'examen")
# Marquer une tâche comme terminée
taches.remove("Réviser Python")

Dictionnaire : Stockage d’informations utilisateur#

Profil utilisateur avec dictionnaire
utilisateur = {
"nom": "Jean",
"email": "jean@example.com",
"preferences": ["Python", "Web"]
}
# Mettre à jour les préférences
utilisateur["preferences"].append("Data Science")

Ensemble : Gestion des tags uniques#

Tags uniques avec ensembles
tags_article = {"python", "programmation", "débutant"}
tags_nouveau = {"python", "tutoriel", "débutant"}
# Tags communs
tags_communs = tags_article & tags_nouveau
print(tags_communs) # {"python", "débutant"}

Exercices pratiques#

Conseil
  1. Gestion d’inventaire : Créez un dictionnaire pour stocker des produits avec leurs prix et quantités.

  2. Liste de contacts : Utilisez une liste de dictionnaires pour stocker des informations de contact.

  3. Analyse de texte : Utilisez un ensemble pour trouver les mots uniques dans un texte.

Conclusion#

Les structures de données sont essentielles en Python. Chaque structure a ses avantages :

  • list : Pour des collections ordonnées et modifiables
  • tuple : Pour des données immuables (coordonnées, configurations)
  • dict : Pour des données associatives (profils utilisateur, configurations)
  • set : Pour des collections uniques et des opérations mathématiques

Maîtrisez ces structures et vous serez capable de créer des programmes Python plus efficaces et organisés !