Introduction
Python propose plusieurs types de collections pour stocker et manipuler des données. Les tuples et les dictionnaires sont deux de ces structures de données fondamentales. Les tuples permettent de stocker des séquences immuables d’éléments, tandis que les dictionnaires stockent des données sous forme de paires clé-valeur. Chacune de ces collections a ses propres usages, avantages et limitations.
Dans cet article, nous allons explorer ces deux types de collections, comprendre comment et quand les utiliser, et examiner leurs principales méthodes.
1. Les tuples en Python
Un tuple est une collection ordonnée et immuable d'éléments. Contrairement aux listes, vous ne pouvez pas modifier (ajouter, supprimer ou modifier) un tuple une fois qu’il est créé. Cette immuabilité rend les tuples plus rapides et plus adaptés à certaines situations où les données doivent rester constantes.
1.1. Créer un tuple
Les tuples sont définis en plaçant des éléments entre des parenthèses ()
séparés par des virgules.
mon_tuple = (1, 2, 3)
tuple_mixte = ("Python", 42, True)
Un tuple avec un seul élément doit avoir une virgule après l'élément pour être reconnu comme un tuple :
mon_tuple = (5,) # Tuple avec un seul élément
1.2. Accéder aux éléments d'un tuple
Comme les listes, les tuples sont indexés. Vous pouvez accéder à leurs éléments via leur index, en utilisant des nombres entiers positifs ou négatifs.
animaux = ("chat", "chien", "oiseau")
print(animaux[0]) # "chat"
print(animaux[-1]) # "oiseau" (indexation depuis la fin)
1.3. Les avantages des tuples
- Immuables : Une fois créés, les tuples ne peuvent pas être modifiés, ce qui les rend adaptés pour stocker des données constantes.
- Performances : Ils sont plus rapides que les listes pour certaines opérations, car Python peut optimiser leur stockage.
- Utilisation comme clés dans un dictionnaire : Grâce à leur immuabilité, les tuples peuvent être utilisés comme clés dans les dictionnaires, contrairement aux listes.
1.4. Méthodes des tuples
Les tuples ont peu de méthodes en raison de leur immuabilité, mais voici quelques-unes des plus utiles :
count(x)
: Retourne le nombre d'occurrences dex
dans le tuple.index(x)
: Retourne l'index de la première occurrence dex
.
mon_tuple = (1, 2, 3, 2)
print(mon_tuple.count(2)) # 2 (le chiffre 2 apparaît deux fois)
print(mon_tuple.index(3)) # 2 (le chiffre 3 est à l'index 2)
2. Les dictionnaires en Python
Les dictionnaires sont des collections non ordonnées d'éléments sous forme de paires clé-valeur. Les clés doivent être uniques et immuables (comme les chaînes, les nombres ou les tuples), et elles permettent d’accéder à leurs valeurs associées.
2.1. Créer un dictionnaire
Un dictionnaire est défini en plaçant des paires clé-valeur entre des accolades {}
, chaque clé étant séparée de sa valeur par un deux-points :
.
etudiant = {"nom": "Alice", "age": 25, "ville": "Paris"}
2.2. Accéder aux valeurs
Pour accéder à une valeur, vous devez utiliser la clé correspondante.
nom = etudiant["nom"] # "Alice"
Vous pouvez également utiliser la méthode get()
pour éviter les erreurs si la clé n'existe pas.
age = etudiant.get("age", "Non spécifié") # Retourne 25
2.3. Ajouter, modifier et supprimer des éléments
Les dictionnaires sont mutables, ce qui signifie que vous pouvez modifier leur contenu.
- Ajouter ou modifier une entrée :
etudiant["age"] = 26 # Modifie l'âge
etudiant["note"] = 90 # Ajoute une nouvelle paire clé-valeur
- Supprimer une entrée :
del etudiant["ville"] # Supprime l'entrée avec la clé "ville"
2.4. Les principales méthodes des dictionnaires
keys()
: Retourne une vue contenant toutes les clés du dictionnaire.values()
: Retourne une vue contenant toutes les valeurs du dictionnaire.items()
: Retourne une vue contenant toutes les paires clé-valeur du dictionnaire.
clefs = etudiant.keys() # dict_keys(['nom', 'age', 'note'])
valeurs = etudiant.values() # dict_values(['Alice', 26, 90])
paires = etudiant.items() # dict_items([('nom', 'Alice'), ('age', 26), ('note', 90)])
pop(key)
: Supprime la clé et retourne la valeur associée.
note = etudiant.pop("note") # Supprime et retourne 90
3. Comparaison entre tuples et dictionnaires
Tuples :
- Ordonnés : Les éléments conservent leur ordre d'insertion.
- Immuables : Vous ne pouvez pas modifier un tuple après sa création.
- Utilisation typique : Stocker des données fixes comme des coordonnées, des informations sur un produit, ou des constantes.
Dictionnaires :
- Non ordonnés (jusqu’à Python 3.7 où l’ordre d’insertion est maintenu).
- Mutables : Vous pouvez modifier, ajouter ou supprimer des paires clé-valeur à tout moment.
- Utilisation typique : Associer des informations descriptives à des clés uniques (ex. : stocker des informations sur un utilisateur).
Conclusion
Les tuples et les dictionnaires sont deux types de collections puissants en Python, chacun ayant des usages spécifiques. Les tuples sont parfaits pour stocker des ensembles de données immuables, tandis que les dictionnaires offrent une flexibilité pour gérer des données avec des paires clé-valeur. En maîtrisant ces deux types de collections, vous serez capable de structurer vos données de manière efficace et optimale.