Les dictionnaires en Python
Sommaire
- 1- Objectifs
- 2- Présentation
- 3- Créer des dictionnaires en Python
- 3.1- Création des dictionnaires avec des clés de type entier
- 3.2- Création des dictionnaires avec des clés de types différents
- 3.3- Création des dictionnaires avec la méthode intégrée
dict ()
- 3.4- Création des dictionnaires à partir d'une séquence de tuples
- 4- Ajouter des éléments à un dictionnaire
- 5- Comment supprimer des éléments d'un dictionnaire Python
- 5.1- pop (clé)
- 5.2- popitem (key)
- 5.3- del
- 5.4- clear ()
- 6- Autres méthodes des dictionnaires Python
- 6.1- dictionnaire
.get(<key>[, <default>])
- 6.2- dictionnaire
.items()
- 6.3- dictionnaire
.value()
- 6.4- dictionnaire
.update()
- 7- Opérations sur les dictionnaires Python
- 7.1- Comment trouver la longueur d'un dictionnaire Python
- 7.2- Comment itérer dans un dictionnaire Python
- 7.3- Comment trouver la valeur maximale et minimale dans le dictionnaire Python
- 8- Applications
- 8.1- App01
- 8.2- Énoncé
- 8.3- Solution
- 8.3.1- Sommaire du cours Python
Les dictionnaires en Python
-
Objectifs
- Dans ce cours, vous apprendrez en profondeur le dictionnaire Python de sa création à sa modification, en accédant à ses membres et en explorant différentes opérations fonctionnelles avec les méthodes intégrées de Python.
-
Présentation
- Un dictionnaire Python est une liste ordonnée de paires clé-valeur. Les éléments du dictionnaire sont des paires clé-valeur séparées par des virgules.
- Les clés du dictionnaire Python sont immuables et doivent être uniques, tandis que les valeurs sont mutables et peuvent être modifiées ou modifiées à tout moment.
- Les dictionnaires constituent un type d’objet Python qui ressemble aux listes (ils sont modifiables comme elles), mais ce ne sont pas des séquences.
- Les éléments que nous allons y enregistrer ne seront pas disposés dans un ordre particulier. En revanche, nous pourrons accéder à n’importe lequel d’entre eux à l’aide d’un index spécifique que l’on appellera une clé, souvent alphabétique ou numérique.
- Comme dans une liste, les éléments mémorisés dans un dictionnaire peuvent être de n’importe quel type (valeurs numériques, chaînes de caractères, listes,… et même dictionnaires).
- Les dictionnaires se révèlent très pratiques lorsque vous devez manipuler des structures complexes à décrire et que les listes présentent leurs limites.
- Les dictionnaires sont des collections non ordonnées d’objets, c’est-à-dire qu’il n’y a pas de notion d’ordre (i.e. pas d’indice). On accède aux valeurs d’un dictionnaire par des clés.
-
Créer des dictionnaires en Python
- En Python, un dictionnaire peut être créé en plaçant une séquence d’éléments entre accolades
{}
, séparées par une "virgule"(,
), où les clés et les valeurs sont également séparées par "deux points" (:
). - Le dictionnaire contient une paire de valeurs, l’une étant la clé et l’autre élément de paire correspondant étant la sienne Key:value.
- 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. - La combinaison d’une clé et de sa valeur, c’est-à-dire "clé: valeur" représente un élément unique d’un dictionnaire en Python.
- Lors de la définition des objets de dictionnaire statiques, vous devez veiller à utiliser des valeurs uniques pour les clés. Cependant, ils peuvent dériver de n’importe quel type de données Python valide.
- N’oublier pas non plus de n’utiliser que des types de données immuables pour les valeurs alors qu’elles peuvent avoir des doublons.
-
Création des dictionnaires avec des clés de type entier
-
Création des dictionnaires avec des clés de types différents
-
Création des dictionnaires avec la méthode intégrée
dict ()
- Le dictionnaire peut également être créé par la fonction intégrée
dict ()
. Un dictionnaire vide peut être créé en le plaçant simplement entre accolades{}
. -
Création des dictionnaires à partir d’une séquence de tuples
-
Ajouter des éléments à un dictionnaire
- Dans le dictionnaire Python, l’ajout d’éléments peut être effectué de plusieurs manières.
- Il n’y a pas de méthode explicitement définie pour ajouter une nouvelle clé au dictionnaire. Si vous souhaitez ajouter une nouvelle clé au dictionnaire, vous pouvez utiliser l’opérateur d’affectation avec la clé de dictionnaire. Attention si la clé existe déjà, la valeur sera écrasée.
- Ajouter une clé si elle n’est pas présente dans le dictionnaire.
-
Comment supprimer des éléments d’un dictionnaire Python
- Il existe plusieurs méthodes pour supprimer des éléments d’un dictionnaire:
-
pop (clé)
- La méthode
pop()
supprime l’élément avec le nom de clé spécifié. - Supprime les éléments avec la clé fournie et renvoie sa valeur à la console de sortie
-
popitem (key)
- Identique à pop (), la différence étant que
popitem ()
supprime l’élément aléatoire et renvoie la paire (clé, valeur) dans la console de sortie - La méthode
popitem()
supprime le dernier élément inséré (dans les versions antérieures à 3.7, un élément aléatoire est supprimé à la place). -
del
- Supprime un seul élément ou le dictionnaire entièrement
- Le méthode
del ()
supprime l’élément avec le nom de clé spécifié. -
clear ()
- Efface tous les éléments du dictionnaire et renvoie un dictionnaire vide
-
Autres méthodes des dictionnaires Python
- Comme pour les chaînes et les listes, il existe plusieurs méthodes intégrées qui peuvent être appelées sur les dictionnaires.
- Les méthodes de liste et de dictionnaire partagent le même nom.
-
dictionnaire
.get(<key>[, <default>])
- Renvoie la valeur d’une clé si elle existe dans le dictionnaire.
- La méthode
.get()
du dictionnaire Python fournit un moyen pratique d’obtenir la valeur d’une clé à partir d’un dictionnaire sans vérifier à l’avance si la clé existe et sans générer d’erreur. -
dictionnaire
.items()
- Renvoie une liste de paires clé-valeur dans un dictionnaire.
- La méthode
.items()
renvoie une liste de tuples contenant les paires clé-valeur dans dictionnaire. - Le premier élément de chaque tuple est la clé et le deuxième élément est la valeur de la clé:
-
dictionnaire
.value()
- Renvoie une liste de valeurs dans un dictionnaire.
- La méthode
.values()
renvoie une liste de toutes les valeurs dans un dictionnaire -
dictionnaire
.update()
- Fusionne un dictionnaire avec un autre dictionnaire ou avec un itérable de paires clé-valeur.
- Si <obj>est un dictionnaire, dictionnaire.update(<obj>)fusionne les entrées de <obj>dans dictionnaire. Pour chaque clé dans <obj>:
- Si la clé n’est pas présente dans dictionnaire, la paire clé-valeur de <obj> est ajoutée à dictionnaire.
- Si la clé est déjà présente dans dictionnaire, la valeur correspondante dans pour cette clé est mise à jour avec la valeur de <obj>.
-
Opérations sur les dictionnaires Python
-
Comment trouver la longueur d’un dictionnaire Python
- Python a la fonction intégrée
len()
pour trouver la longueur d’un dictionnaire. -
Comment itérer dans un dictionnaire Python
- On peut parcourir le dictionnaire Python en utilisant la boucle for.
-
Comment trouver la valeur maximale et minimale dans le dictionnaire Python
- Il existe plusieurs façons de trouver la valeur maximale et minimale dans un dictionnaire Python. Voici les exemples.
-
Applications
-
App01
-
Énoncé
- Écrivez un script Python pour générer et imprimer un dictionnaire contenant un nombre (entre 1 et nbr) sous la forme
(x, x * x)
. - Exemple d’application:
-
Solution
Les clés de dictionnaire sont sensibles à la casse, le même nom.
dictionnaire = {1: 'Lundi', 2: 'Mardi', 3: 'Mercredi'
, 4: 'Jeudi', 5: 'Vendredi'
, 6: 'Samedi', 7: 'Dimanche'}
print("\nExemple d'un dictionnaire: ")
print(dictionnaire)
"""
Production:
Exemple d'un dictionnaire:
{1: 'Lundi', 2: 'Mardi', 3: 'Mercredi', 4: 'Jeudi',
5: 'Vendredi', 6: 'Samedi', 7: 'Dimanche'}
"""
dictionnaire = {1: 'Lundi', 'deuxieme': 'Mardi', 3: 'Mercredi'
, 4: 'Jeudi', 'Cinquième': 'Vendredi'
, 6: 'Samedi', 7: 'Dimanche'}
print("\nExemple d'un dictionnaire: ")
print(dictionnaire)
"""
Production:
Exemple d'un dictionnaire:
{1: 'Lundi', 'deuxieme': 'Mardi', 3: 'Mercredi', 4: 'Jeudi',
'Cinquième': 'Vendredi', 6: 'Samedi', 7: 'Dimanche'}
"""
dictionnaire = dict({1: 'Lundi', 2: 'Mardi', 3: 'Mercredi'
, 4: 'Jeudi', 5: 'Vendredi'
, 6: 'Samedi', 7: 'Dimanche'})
print("\nExemple d'un dictionnaire: ")
print(dictionnaire)
"""
Production:
Exemple d'un dictionnaire:
{1: 'Lundi', 2: 'Mardi', 3: 'Mercredi',
4: 'Jeudi', 5: 'Vendredi', 6: 'Samedi', 7: 'Dimanche'}
"""
dictionnaire = dict([(1, 'Lundi'), (2, 'Mardi'), (3, 'Mercredi')
, (4, 'Jeudi'), (5, 'Vendredi')
, (6, 'Samedi'), (7, 'Dimanche')])
print("\nExemple d'un dictionnaire: ")
print(dictionnaire)
"""
Production:
Exemple d'un dictionnaire:
{1: 'Lundi', 2: 'Mardi', 3: 'Mercredi',
4: 'Jeudi', 5: 'Vendredi', 6: 'Samedi', 7: 'Dimanche'}
"""
dictionnaire = dict([(1, 'Lundi'), (2, 'Mardi'), (3, 'Mercredi')
, (4, 'Jeudi'), (5, 'Vendredi')
, (6, 'Samedi'), (7, 'Dimanche')])
print("\nExemple d'un dictionnaire: ")
dictionnaire[1]='Monday'
dictionnaire[2]='Tuesday'
print(dictionnaire)
"""
Production:
Exemple d'un dictionnaire:
{1: 'Monday', 2: 'Tuesday', 3: 'Mercredi',
4: 'Jeudi', 5: 'Vendredi', 6: 'Samedi', 7: 'Dimanche'}
"""
dictionnaire = dict([(1, 'Lundi'), (2, 'Mardi'), (3, 'Mercredi')
, (4, 'Jeudi'), (5, 'Vendredi')
, (6, 'Samedi'), (7, 'Dimanche')])
print("\nExemple d'un dictionnaire: ")
if 1 not in dictionnaire.keys():
dictionnaire[1]='Monday'
if 2 not in dictionnaire.keys():
dictionnaire[2]='Tuesday'
print(dictionnaire)
"""
Production:
Exemple d'un dictionnaire:
{1: 'Lundi', 2: 'Mardi', 3: 'Mercredi',
4: 'Jeudi', 5: 'Vendredi', 6: 'Samedi', 7: 'Dimanche'}
"""
dictionnaire = dict([(1, 'Lundi'), (2, 'Mardi'), (3, 'Mercredi')
, (4, 'Jeudi'), (5, 'Vendredi')
, (6, 'Samedi'), (7, 'Dimanche')])
dictionnaire.pop(2)
print("\nExemple d'un dictionnaire: ")
print(dictionnaire)
"""
Production:
Exemple d'un dictionnaire:
{1: 'Lundi', 3: 'Mercredi', 4: 'Jeudi',
5: 'Vendredi', 6: 'Samedi', 7: 'Dimanche'}
"""
dictionnaire = dict([(1, 'Lundi'), (2, 'Mardi'), (3, 'Mercredi')
, (4, 'Jeudi'), (5, 'Vendredi')
, (6, 'Samedi'), (7, 'Dimanche')])
dictionnaire.popitem()
print("\nExemple d'un dictionnaire: ")
print(dictionnaire)
"""
Production:
Exemple d'un dictionnaire:
{1: 'Lundi', 2: 'Mardi', 3: 'Mercredi', 4: 'Jeudi',
5: 'Vendredi', 6: 'Samedi'}
"""
dictionnaire = dict([(1, 'Lundi'), (2, 'Mardi'), (3, 'Mercredi')
, (4, 'Jeudi'), (5, 'Vendredi')
, (6, 'Samedi'), (7, 'Dimanche')])
del dictionnaire[2]
print("\nExemple d'un dictionnaire: ")
print(dictionnaire)
"""
Production:
Exemple d'un dictionnaire:
{1: 'Lundi', 3: 'Mercredi', 4: 'Jeudi',
5: 'Vendredi', 6: 'Samedi', 7: 'Dimanche'}
"""
dictionnaire = {1: 'Lundi', 2: 'Mardi', 3: 'Mercredi'
, 4: 'Jeudi', 5: 'Vendredi'
, 6: 'Samedi', 7: 'Dimanche'}
dictionnaire.clear()
print("\nExemple d'un dictionnaire: ")
print(dictionnaire)
"""
Production:
Exemple d'un dictionnaire:
{}
"""
d = {'a': 10, 'b': 20, 'c': 30}
print(d.get('b'))
#Production: 20
print(d.get('z'))
#Production: None
dictionnaire = {'a': 10, 'b': 20, 'c': 30}
print(dictionnaire)
#Production: {'a': 10, 'b': 20, 'c': 30}
print(list(dictionnaire.items()))
#Production: [('a', 10), ('b', 20), ('c', 30)]
print(list(dictionnaire.items())[1][0])
#Production: b
print(list(dictionnaire.items())[1][1])
#Production: 20
dictionnaire = {'a': 10, 'b': 20, 'c': 30}
print(dictionnaire)
#Production:{'a': 10, 'b': 20, 'c': 30}
print(list(dictionnaire.values()))
#Production:[10, 20, 30]
dictionnaire = dict([(1, 'Lundi'), (2, 'Mardi'), (3, 'Mercredi')
, (4, 'Jeudi'), (5, 'Vendredi')
, (6, 'Samedi'), (7, 'Dimanche')])
print("\nExemple d'un dictionnaire: ")
print(len(dictionnaire))
"""
Production:
Exemple d'un dictionnaire:
7
"""
dictionnaire = {1: 'Lundi', 2: 'Mardi', 3: 'Mercredi'
, 4: 'Jeudi', 5: 'Vendredi'
, 6: 'Samedi', 7: 'Dimanche'}
print("\nExemple d'un dictionnaire: ")
for x in dictionnaire:
print(dictionnaire[x])
"""
Production:
Exemple d'un dictionnaire:
Lundi
Mardi
Mercredi
Jeudi
Vendredi
Samedi
Dimanche
"""
dictionnaire = {1: 914, 2: 987, 3: 874
, 4: 321, 5: 654, 6: 624, 7: 927}
key_max = max(dictionnaire.keys(), key=(lambda x: dictionnaire[x]))
key_min = min(dictionnaire.keys(), key=(lambda x: dictionnaire[x]))
print("\nExemple d'un dictionnaire: ")
print ('Le maximum du dictionnaire est :',key_max)
print ('Le minimum du dictionnaire est :',key_min)
"""
Production:
Exemple d'un dictionnaire:
Le maximum du dictionnaire est : 2
Le minimum du dictionnaire est : 4
"""
Entrez un nombre: 4 {1: 1, 2: 4, 3: 9, 4: 16}
nbr=int(input("Entrez un nombre "))
dictionnaire = dict()
for x in range(1,nbr+1):
dictionnaire[x]=x*x
print(dictionnaire)