Les Structures de Données en Python
Objectifs Pédagogiques
- Comprendre les différentes collections de données proposées par Python.
- Savoir créer et manipuler des listes, tuples, dictionnaires et ensembles.
- Choisir la structure adaptée selon le contexte.
- Utiliser les méthodes de base pour parcourir, ajouter, supprimer ou transformer les données.
1. Les Listes
Définition
Une
liste est une collection
ordonnée et
modifiable d’éléments. Elle peut contenir des types différents.
Exemples d’utilisation
# Création d'une liste
fruits = ["pomme", "banane", "cerise"]
# Ajouter un élément
fruits.append("orange")
# Insérer un élément à une position donnée
fruits.insert(1, "mangue")
# Supprimer un élément
fruits.remove("banane")
# Accéder à un élément
print(fruits[0]) # "pomme"
Méthodes utiles
Méthode |
Action |
append(x) |
Ajoute x à la fin |
insert(i, x) |
Insère x à l’indice i |
remove(x) |
Supprime le premier x rencontré |
pop(i) |
Supprime et retourne l’élément à l’indice i |
sort() |
Trie la liste |
reverse() |
Inverse l’ordre |
2. Les Tuples
Définition
Un
tuple est une collection
ordonnée mais immuable. On ne peut pas modifier ses éléments après création.
Exemple
coordonnees = (10, 20)
# Accès
print(coordonnees[0]) # 10
# Décomposition
x, y = coordonnees
print(x, y) # 10 20
Les tuples sont utiles pour retourner plusieurs valeurs d'une fonction, ou stocker des données constantes.
3. Les Dictionnaires
Définition
Un
dictionnaire stocke des données sous forme
clé-valeur. Il n’est pas ordonné (jusqu'à Python 3.7).
Exemple
etudiant = {
"nom": "Alice",
"age": 22,
"ville": "Paris"
}
# Accès
print(etudiant["nom"]) # "Alice"
# Modifier ou ajouter
etudiant["age"] = 23
# Supprimer
del etudiant["ville"]
Méthodes utiles
Méthode |
Action |
get(clé) |
Retourne la valeur associée à la clé |
keys() |
Liste des clés |
values() |
Liste des valeurs |
items() |
Liste des couples (clé, valeur) |
pop(clé) |
Supprime et retourne la valeur de la clé |
4. Les Ensembles
Définition
Un
ensemble est une collection
non ordonnée qui ne contient pas de doublons.
Exemple
nombres = {1, 2, 3}
# Ajouter
nombres.add(4)
# Supprimer
nombres.discard(2)
Opérations ensemblistes
Opération |
Description |
union() |
Union de deux ensembles |
intersection() |
Éléments communs |
difference() |
Différence entre deux ensembles |
issubset() |
Vérifie si c’est un sous-ensemble |
A = {1, 2, 3}
B = {3, 4, 5}
print(A.union(B)) # {1, 2, 3, 4, 5}
print(A.intersection(B)) # {3}
5. Choisir la Bonne Structure
Structure |
Ordonnée |
Modifiable |
Clé ou index |
Idéal pour… |
Liste |
Oui |
Oui |
Index |
Collection simple et modifiable |
Tuple |
Oui |
Non |
Index |
Valeurs constantes ou retour multiple |
Dictionnaire |
Non |
Oui |
Clés |
Associer des clés à des valeurs |
Ensemble |
Non |
Oui |
Non |
Éléments uniques et tests d’appartenance |
6. Exercices
Exercice 1 : Liste triée
Créer une liste prenoms
avec 3 prénoms, ajoutez-en un autre, puis affichez la liste triée.
prenoms = ["Lina", "Marc", "Sami"]
prenoms.append("Zoé")
prenoms.sort()
print(prenoms)
Exercice 2 : Dictionnaire de personne
Créer un dictionnaire avec les clés nom
, age
, ville
, modifiez l’âge et affichez le résultat.
personne = {"nom": "Jules", "age": 30, "ville": "Lyon"}
personne["age"] = 31
print(personne)
Exercice 3 : Opérations sur ensembles
Créer deux ensembles avec des éléments en commun. Afficher l’union et l’intersection.
A = {1, 2, 3}
B = {2, 3, 4}
print(A.union(B)) # {1, 2, 3, 4}
print(A.intersection(B)) # {2, 3}
7. Résumé des Commandes
Commande |
Description |
append() , insert() |
Manipuler une liste |
sort() , reverse() |
Trier ou inverser |
get() , items() |
Parcourir un dictionnaire |
union() , intersection() |
Opérations d’ensembles |