Les listes et dictionnaires
Qu'est-ce qu'une liste ?
Une liste est une collection ordonnée et modifiable d'éléments. En Python, elle est définie par des crochets [] et peut contenir des éléments de différents types (même si généralement, on utilise des éléments homogènes).
Pour créer une liste :
# Liste vide
ma_liste = []
# Liste avec des éléments
fruits = ["pomme", "banane", "cerise"]
# Liste avec différents types d'éléments
mixte = [42, "Python", True, 3.14]
Pour accéder aux éléments de la liste :
# Les indices commencent à 0 en Python.
# Accéder au premier élément
print(fruits[0]) # pomme
# Accéder au dernier élément
print(fruits[-1]) # cerise
Pour modifier une liste existante :
# Modifier un élément
fruits[1] = "orange"
print(fruits) # ['pomme', 'orange', 'cerise']
# Ajouter des éléments
fruits.append("fraise") # Ajoute à la fin
print(fruits) # ['pomme', 'orange', 'cerise', 'fraise']
# Insérer à une position spécifique
fruits.insert(1, "kiwi")
print(fruits) # ['pomme', 'kiwi', 'orange', 'cerise', 'fraise']
# Supprimer un élément
fruits.remove("kiwi")
print(fruits) # ['pomme', 'orange', 'cerise', 'fraise']
# Supprimer par indice
del fruits[0]
print(fruits) # ['orange', 'cerise', 'fraise']
Pour itérer sur une liste :
# Boucle for
for fruit in fruits:
print(fruit)
# Avec un indice
for i in range(len(fruits)):
print(f"L'élément {i} est {fruits[i]}")
voici des opérations couraments effectuées avec les listes :
# Longueur de la liste
print(len(fruits)) # Nombre d'éléments
# Vérifier si un élément est présent
print("cerise" in fruits) # True
# Trier une liste
nombres = [3, 1, 4, 2]
nombres.sort() # Trie sur place
print(nombres) # [1, 2, 3, 4]
# Obtenir une copie triée sans modifier la liste
sorted_nombres = sorted(nombres, reverse=True)
print(sorted_nombres) # [4, 3, 2, 1]
Qu'est-ce qu'un dictionnaire ?
Un dictionnaire est une collection non ordonnée d'éléments sous forme de paires clé-valeur. On l'utilise pour associer des clés uniques à des valeurs.
Pour créer un dictionnaire :
# Dictionnaire vide
mon_dict = {}
# Dictionnaire avec des données
etudiant = {
"nom": "Alice",
"âge": 21,
"matière": "Informatique"
}
Accéder aux valeurs d'un dictionnaire :
# Accéder à une valeur par sa clé
print(etudiant["nom"]) # Alice
# Accéder avec la méthode get (plus sûr)
print(etudiant.get("âge")) # 21
print(etudiant.get("adresse", "Non disponible")) # Retourne une valeur par défaut
Pour modifier un dictionnaire :
# Ajouter une nouvelle paire clé-valeur
etudiant["adresse"] = "Paris"
print(etudiant)
# Modifier une valeur existante
etudiant["âge"] = 22
print(etudiant)
# Supprimer une clé
del etudiant["matière"]
print(etudiant)
Pour itérer sur un dictionnaire :
# Parcourir les clés
for key in etudiant:
print(key)
# Parcourir les valeurs
for valeur in etudiant.values():
print(valeur)
# Parcourir les paires clé-valeur
for key, valeur in etudiant.items():
print(f"{key}: {valeur}")
Voici les opérations courament effectuées sur les dictionnaires :
# Vérifier si une clé existe
print("nom" in etudiant) # True
# Obtenir toutes les clés
print(list(etudiant.keys())) # ['nom', 'âge', 'adresse']
# Obtenir toutes les valeurs
print(list(etudiant.values())) # ['Alice', 22, 'Paris']
Voici un exemple pratique de liste et de dictionnaires combiné :
# Liste des étudiants avec leurs notes
etudiants = [
{"nom": "Alice", "notes": {"Math": 15, "Informatique": 18}},
{"nom": "Bob", "notes": {"Math": 12, "Informatique": 14}},
{"nom": "Charlie", "notes": {"Math": 9, "Informatique": 13}},
]
# Afficher les noms et moyennes
for etudiant in etudiants:
nom = etudiant["nom"]
notes = etudiant["notes"]
moyenne = sum(notes.values()) / len(notes)
print(f"{nom} a une moyenne de {moyenne:.2f}")
Conclusion
Les listes et dictionnaires sont des structures fondamentales en Python. Utilisez les listes pour des données ordonnées comme des listes de noms. Utilisez les dictionnaires lorsque chaque élément a besoin d'une clé descriptive, comme une fiche d'information.