1. Un dictionnaire Python c'est quoi ?
Les dictionnaires sont l'implémentation par Python d'une structure de données plus généralement connue sous le nom de tableau associatif. Un dictionnaire consiste en une collection de paires clé-valeur. Chaque paire clé-valeur mappe la clé à sa valeur associée.
En Python, un dictionnaire peut être créé en plaçant une séquence d'éléments entre accolades {}, séparés par une virgule. Le dictionnaire contient des paires de valeurs, l'une étant la clé et l'autre élément de paire correspondant étant sa clé. Les valeurs d'un dictionnaire peuvent être de n'importe quel type de données et peuvent être dupliquées, tandis que les clés ne peuvent pas être répétées et doivent être immuables.
Syntaxe
1 |
dic = {key1: value1, key2: value2, key3: value3, ...} |
Pour accéder à une valeur d'un dictionnaire, on utilise le nom du dictionnaire suivi de la clé correspondante entre crochets:
1 2 |
dic = {key1: value1, key2: value2, key3: value3, ...} print(dic[key1]) # affiche 'value1' |
Exemple age des étudiants sur un dictionnaire
1 2 3 |
dictAges = {"Samir": 21 , "Najat" : 19 , "Elisa" : 20 , "Ahmed" : 18 , "Robert" : 21} print("L'age de Najat est : " , dictAge["Najat"]) # Affiche: L'age de Najat est : 19 |
2. Parcourir les valeurs et les clés d'un dictionnaire Python
Un dictionnaire Python est doté des méthodes permettant le parcourt des valeurs des clés:
- value() : méthode qui permet de parcourir les valeurs du dictionnaire
- keys() : méthode qui permet de parcourir les clés du dictionnaire
Exemple : parcourt des valeurs d'un dictionnaire
1 2 3 |
phoneBook={"Majid":"0556633558","Tomas":"0587958414","Bernard":"0669584758"} for valeur in phoneBook.values(): print(valeur) |
Exemple : parcourt des clés d'un dictionnaire
1 2 3 |
phoneBook={"Majid":"0556633558","Tomas":"0587958414","Bernard":"0669584758"} for key in phoneBook.keys(): print(key) |
Remarque(parcourt simultané des valeurs et des clés)
On peut aussi parcourir les clés et les valeurs en même temps en passant à la méthode items()
Exemple: parcourt des clés et des valeurs
1 2 3 |
phoneBook={"Majid":"0556633558","Tomas":"0587958414","Bernard":"0669584758"} for key , valeur in phoneBook.items(): print(key, valeur) |
3. Mettre à jour, ajouter ou supprimer des éléments d'un dictionnaire
3.1 Mettre à jour un élément du dictionnaire
On peut mettre à jour un élément au sein d'un dictionnaire python directement en affectant une valeur à une clé:
Exemple: mettre à jours un stock
1 2 3 4 5 6 |
stock={"Laptop":15, "Imprimante":35,"Tablette":27} #modification du nombre d'imprimantes stock["Imprimante"]=42 print(stock) # affiche : {'Laptop': 15, 'Imprimante': 42, 'Tablette': 27} |
3.2 Ajouter un élément au dictionnaire
Dans le cas d'une clé inexistante, la même méthode cité ci-dessus, permet d'ajouter un élément au dictionnaire:
Exemple: Ajouter un élément au stock
1 2 3 4 5 6 |
stock={"Laptop":15, "Imprimante":35,"Tablette":27} # Ajout de l'élément "Smartphone":23 stock["Smartphone"] = 23 print(stock) # affiche : {'Laptop': 15, 'Imprimante': 35, 'Tablette': 27, "Smartphone":23} |
3.3 Supprimer un élément du dictionnaire
On peut supprimer un élément du dictionnaire en indiquant sa clé dans la méthode pop().
Exemple: suppression d'un élément du dictionnaire
1 2 3 4 5 6 |
stock={'Laptop': 15, 'Imprimante': 35, 'Tablette': 27, "Smartphone":23} # Suppression de l'élément "Smartphone": 23 stock.pop("Smartphone") print(stock) # affiche : {'Laptop': 15, 'Imprimante': 35, 'Tablette': 27} |
Un dictionnaire est doté d'une autre méthode : popitem() qui permet de supprimer le dernier élément
Exemple: Suppression du dernier élément
1 2 3 4 5 6 |
stock = {'Laptop': 15, 'Imprimante': 35, 'Tablette': 27, "Smartphone":23} # Suppression du dernier élément stock.popitem() print(stock) # affiche : stock={'Laptop': 15, 'Imprimante': 35, 'Tablette': 27} |
3.4 Vider un dictionnaire
Un dictionnaire Python peut être facilement vidé via la méthode clear()
Exemple: vider un dictionnaire
1 2 3 4 5 6 |
stock={'Laptop': 15, 'Imprimante': 35, 'Tablette': 27, "Smartphone":23} # vider le dictionnaire stock.clear() print(stock) # affiche un dictionnaire vide : {} |
3.5 Inverser l'ordre des éléments d'un dictionnaire
En Python 3.7 et versions ultérieures, vous pouvez utiliser la méthode reversed() avec un dictionnaire pour inverser l'ordre des éléments.
Exemple
1 2 3 4 5 6 7 8 |
# Création d'un dictionnaire mon_dictionnaire = {'a': 1, 'b': 2, 'c': 3, 'd': 4} # Inversion de l'ordre des éléments du dictionnaire dictionnaire_inverse = dict(reversed(mon_dictionnaire.items())) # Affichage du dictionnaire inversé print(dictionnaire_inverse) |
Ce code créera un nouveau dictionnaire appelé dictionnaire_inverse qui contiendra les mêmes éléments que mon_dictionnaire, mais dans l'ordre inverse. Lorsque vous l'exécutez, vous obtiendrez la sortie suivante :
1 2 3 4 5 |
""" Vous pouvez voir que les éléments du dictionnaire ont été inversés par rapport à l'ordre original. """ {'d': 4, 'c': 3, 'b': 2, 'a': 1} |
4. Récapitulatif des méthodes associées à un dictionnaire
Voici un récapitulatif des principales méthodes associées à un objet dictionnaire:
- clear() : supprime tous les éléments du dictionnaire.
- copy() : retourne une copie superficielle du dictionnaire.
- fromkeys(seq [, v]) : retourne un nouveau dictionnaire avec les clés de seq et une valeur égale à v (la valeur par défaut est None).
- get(key [, d]) : retourne la valeur de key. Si la clé ne quitte pas, retourne d (la valeur par défaut est Aucune).
- items() : retourne une nouvelle vue des éléments du dictionnaire (clé, valeur).
- keys() : retourne une nouvelle vue des clés du dictionnaire.
- pop(key [, d]) : supprime l'élément avec key et renvoie sa valeur ou d si key n'est pas trouvé. Si d n'est pas fourni et que la clé est introuvable, soulève KeyError.
- popitem() : supprimer et retourner un élément arbitraire (clé, valeur). Lève KeyError si le dictionnaire est vide.
- setdefault(key [, d]) : si key est dans le dictionnaire, retourne sa valeur. Sinon, insérez la clé avec la valeur d et renvoyez d (la valeur par défaut est Aucune).
- update([other]) : met à jour le dictionnaire avec les paires clé / valeur des autres clés existantes.
- values() : retourne une nouvelle vue des valeurs du dictionnaire
5. Quiz
a) {}
b) dict()
c) empty_dict()
d) new_dict()
a) Elles doivent être uniques.
b) Elles peuvent être de n'importe quel type.
c) Elles sont ordonnées.
d) Elles ne peuvent pas être modifiées après avoir été ajoutées au dictionnaire.
a) dictionary.add(key, value)
b) dictionary.insert(key, value)
c) dictionary[key] = value
d) dictionary.update(key, value)
a) dictionary.remove(key)
b) dictionary.pop(key)
c) dictionary.delete(key)
d) dictionary.clear(key)
a) dictionary.get(key)
b) dictionary.value(key)
c) dictionary[key]
d) dictionary.access(key)
a) keys()
b) get_keys()
c) list_keys()
d) all_keys()
a) for key in dictionary.keys():
b) for item in dictionary:
c) for key, value in dictionary.items():
d) for value in dictionary.values():
a) reverse()
b) invert()
c) reversed()
d) invert_dict()
a) copy_dict = dictionary
b) copy_dict = dictionary.copy()
c) copy_dict = dict(dictionary)
d) Toutes les réponses ci-dessus sont correctes.
a) key in dictionary
b) has_key(key, dictionary)
c) exists(key, dictionary)
d) is_key_present(key, dictionary)
- Solution 1 : a) {} et b) dict()
- Solution 2 : a) Elles doivent être uniques.
- Solution 3 : c) dictionary[key] = value
- Solution 4 : b) dictionary.pop(key)
- Solution 5 : c) dictionary[key]
- Solution 6 : a) keys()
- Solution 7 : c) for key, value in dictionary.items():
- Solution 8 : c) reversed() (voir paragraphe 3.5)
- Solution 9 : b) copy_dict = dictionary.copy()
- Solution 10: a) key in dictionary
Younes Derfoufi
CRMEF OUJDA