Les Structures de Données en Python
Introduction aux Structures de Données
Les structures de données en Python sont des conteneurs organisés qui permettent de stocker et de manipuler des collections d'objets. Python offre plusieurs types de structures de données intégrées, chacune avec ses propres caractéristiques et cas d'utilisation.
Concepts Fondamentaux
- Mutabilité : Détermine si une structure peut être modifiée après sa création
- Hashabilité : Indique si un objet peut être utilisé comme clé de dictionnaire
- Ordre : Définit si les éléments maintiennent un ordre spécifique
# Exemples de structures mutables et immutables
# Mutable
liste = [1, 2, 3] # Liste
liste[0] = 10 # Modification possible
# Immutable
tuple_ex = (1, 2, 3) # Tuple
# tuple_ex[0] = 10 # Erreur ! Les tuples sont immutables
# Hashable vs Non-hashable
dictionnaire = {}
dictionnaire[(1, 2)] = "OK" # Les tuples sont hashables
# dictionnaire[[1, 2]] = "Erreur" # Les listes ne sont pas hashables
Types de Structures de Données
Structures Mutables
- Listes : Séquences ordonnées et modifiables
- Dictionnaires : Collections de paires clé-valeur
- Ensembles : Collections non ordonnées d'éléments uniques
Structures Immutables
- Tuples : Séquences ordonnées et non modifiables
- Chaînes : Séquences de caractères
- Frozensets : Ensembles immutables
# Démonstration de l'ordre
# Liste : maintient l'ordre
liste = [3, 1, 2]
liste.sort()
print(liste) # [1, 2, 3]
# Ensemble : non ordonné
ensemble = {3, 1, 2}
print(ensemble) # L'ordre peut varier
# Dictionnaire : maintient l'ordre d'insertion (Python 3.7+)
dico = {'c': 3, 'a': 1, 'b': 2}
print(list(dico.keys())) # ['c', 'a', 'b']
Hashabilité et Performance
La hashabilité est une propriété cruciale qui détermine si un objet peut être utilisé comme clé de dictionnaire ou élément d'ensemble. Les objets hashables sont généralement immutables.
-
Les types immutables (
int
,float
, str, tuple) sont hashables - Les types mutables (list, dict, set) ne sont pas hashables
- La hashabilité permet des recherches O(1) dans les dictionnaires et ensembles
Choisir la Bonne Structure
- Besoin de modifier les données : Utilisez des structures mutables (listes, dictionnaires, ensembles)
- Données en lecture seule : Préférez les structures immutables (tuples, frozensets)
- Besoin d'unicité : Optez pour les ensembles
- Associations clé-valeur : Utilisez les dictionnaires
- Séquences ordonnées : Choisissez les listes ou les tuples
Prochaines Étapes
Dans les prochaines leçons, nous explorerons en détail chaque structure de données :
- Les listes et leurs opérations
- Les tuples et l'immutabilité
- Les ensembles et les opérations ensemblistes
- Les dictionnaires et leur utilisation
- Les chaînes de caractères et leurs méthodes
That's all folks