Funciones avanzadas disponibles en la aplicación
Sujet : Listes, Tuples, Dictionnaires, Tableaux
Niveau : Intermédiaire
Les structures de données sont fondamentales en programmation pour organiser, stocker et manipuler efficacement les données. Python propose plusieurs structures intégrées, chacune avec des caractéristiques et usages spécifiques. Cette fiche traite des listes, tuples, dictionnaires et tableaux (arrays), en détaillant leurs propriétés, différences, méthodes principales, et cas d'utilisation.
Une liste est une structure de données ordonnée, mutable et hétérogène (peut contenir différents types d'éléments).
ma_liste = [1, "Python", 3.14, True]
| Opération | Syntaxe / Exemple | Description |
|---|---|---|
| Accès | ma_liste[0] | Premier élément |
| Modification | ma_liste[1] = "Java" | Modifier un élément |
| Ajout | ma_liste.append(42) | Ajouter à la fin |
| Insertion | ma_liste.insert(2, "inséré") | Insérer à l’indice donné |
| Suppression | ma_liste.remove("Python") | Supprime la première occurrence |
| Suppression par index | del ma_liste[0] | Supprime l’élément à l’index |
| Parcours | for elem in ma_liste: | Itération |
fruits = ["pomme", "banane", "cerise"]
fruits.append("orange") # ['pomme', 'banane', 'cerise', 'orange']
fruits[1] = "kiwi" # ['pomme', 'kiwi', 'cerise', 'orange']
del fruits[0] # ['kiwi', 'cerise', 'orange']
Un tuple est une structure ordonnée et immuable (non modifiable), souvent utilisée pour stocker des données hétérogènes.
mon_tuple = (1, "Python", 3.14)
| Opération | Exemple | Description |
|---|---|---|
| Accès | mon_tuple[1] | Accéder à l’élément |
| Déballage | a, b, c = mon_tuple | Extraction des éléments |
| Longueur | len(mon_tuple) | Nombre d’éléments |
| Concaténation | t1 + t2 | Créer un nouveau tuple |
coordonnees = (10.0, 20.5)
x, y = coordonnees # déballage
print(x) # 10.0
# coordonnees[0] = 15.0 # Erreur : tuple immuable
Un dictionnaire est une structure non ordonnée (depuis Python 3.7 l’ordre d’insertion est conservé), mutable, qui stocke des paires clé-valeur.
mon_dict = {"nom": "Alice", "age": 25}
| Opération | Syntaxe / Exemple | Description |
|---|---|---|
| Accès | mon_dict["nom"] | Récupérer la valeur par clé |
| Ajout / Modification | mon_dict["age"] = 30 | Ajouter ou modifier une paire |
| Suppression | del mon_dict["nom"] | Supprimer une paire |
| Parcours clés | for key in mon_dict: | Itérer sur les clés |
| Parcours valeurs | for val in mon_dict.values(): | Itérer sur les valeurs |
| Parcours items | for k, v in mon_dict.items(): | Itérer sur paires clé-valeur |
etudiant = {"nom": "Bob", "notes": [15, 18, 14]}
print(etudiant.get("age", "Non défini")) # Non défini
etudiant["age"] = 20
for matière, note in etudiant.items():
print(f"{matière} : {note}")
Un tableau est une structure de données qui stocke des éléments du même type de façon contiguë en mémoire. En Python, on utilise généralement :
| Critère | Listes | Tableaux |
|---|---|---|
| Types | Hétérogènes | Homogènes (ex: tous int) |
| Performances | Plus flexibles mais plus lourdes | Plus rapides et compacts |
| Fonctions | Multiples méthodes intégrées | Opérations mathématiques optimisées |
import array
arr = array.array('i', [1, 2, 3, 4]) # 'i' pour int
arr.append(5)
print(arr[2]) # 3
import numpy as np
a = np.array([1, 2, 3, 4])
print(a * 2) # [2 4 6 8]
import numpy as np
matrice = np.array([[1, 2], [3, 4]])
print(matrice.shape) # (2, 2)
print(matrice[0, 1]) # 2
# Opération matricielle
print(matrice + 10) # [[11, 12], [13, 14]]
| Structure | Mutable | Hétérogène | Ordonné | Utilisation typique |
|---|---|---|---|---|
| Liste | Oui | Oui | Oui | Collection dynamique, modification fréquente |
| Tuple | Non | Oui | Oui | Données fixes, clés de dictionnaire |
| Dictionnaire | Oui | Oui | (depuis 3.7 oui) | Association clé-valeur, recherche rapide |
| Tableau | Oui | Non | Oui | Données numériques homogènes, calculs optimisés |
[Diagramme]
coord_dict = {}
coord_dict[(0, 0)] = "Origine"
coord_dict[(1, 2)] = "Point A"
print(coord_dict[(1, 2)]) # Point A
personnes = [
{"nom": "Alice", "age": 30},
{"nom": "Bob", "age": 25}
]
for p in personnes:
print(p["nom"], p["age"])
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
dot_product = np.dot(a, b) # produit scalaire
print(dot_product) # 32
| Structure | Méthodes clés |
|---|---|
| Listes | append(), insert(), remove(), pop(), sort(), reverse() |
| Tuples | Peu de méthodes (immutables) : count(), index() |
| Dictionnaires | get(), keys(), values(), items(), update(), pop() |
| Arrays (array) | append(), extend(), pop(), buffer_info() |
| NumPy | Opérations vectorielles, reshape(), dot(), sum(), mean(), etc. |
fruits = ["pomme", "banane", "cerise"]
fruits.______("orange") # Ajouter 'orange' à la liste
fruits[__] = "kiwi" # Modifier le deuxième élément
del fruits[__] # Supprimer le premier élément
coordinates = (10.0, 20.5)
a, b = _____ # Déballage du tuple
print(a) # Affiche la première coordonnée
# coordinates[0] = 15.0 # La modification est impossible, comment faire une nouvelle copie modifiée ?
coordinates_modifiee = _____
student = {"nom": "Anne", "notes": [12, 15, 14]}
student["age"] =____ # Ajouter la clé 'age' avec la valeur 22
print(student.get("moyenne", __)) # Calculer la moyenne si la clé 'moyenne' n'existe pas
import array
arr = array.array('i', [1, 2, 3])
arr.______(4) # Ajouter un élément
print(arr[__]) # Afficher le troisième élément
arr.______(0) # Supprimer le premier élément
« Choisir la bonne structure de données est souvent la clé pour écrire un code clair, efficace et maintenable. En Python, la richesse des structures intégrées facilite cette tâche, mais il est essentiel de bien comprendre leurs propriétés et limites. »
Cette fiche a présenté les principales structures de données en Python : listes, tuples, dictionnaires et tableaux. Chacune a ses spécificités, avantages et contraintes. La maîtrise de ces structures est primordiale pour écrire du code performant et adapté à vos besoins.
Fin de la fiche
