Avez-vous une question? (216) 97 656 803 hajjriadh@gmail.com
Python

Les dictionnaires en Python

Un cours complet pour maîtriser Les dictionnaires en Python.

0 chapitres 0 QCM Accès gratuit
  1. 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.
  2. 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.
  3. 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.
    • Les clés de dictionnaire sont sensibles à la casse, le même nom.
    • Création des dictionnaires avec des clés de type entier
      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'}
      """
      
  4. Création des dictionnaires avec des clés de types différents
    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'}
    """
    
  5. 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 {}.
    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'}
    """
    
  6. Création des dictionnaires à partir d'une séquence de tuples
    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'}
    """
    
  7. 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.
    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'}
    """
    
  8. Ajouter une clé si elle n'est pas présente dans le dictionnaire.
  9. 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'}
    """
    
  10. 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
        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'}
        """
        
    • 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).
      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'}
      """
      
  11. 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é.
    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'}
    """
    
  12. clear ()
    • Efface tous les éléments du dictionnaire et renvoie un dictionnaire vide
    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: 
    {}
    """
  13. 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.
  14. 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.
    d = {'a': 10, 'b': 20, 'c': 30}
    print(d.get('b'))
    #Production: 20
    print(d.get('z'))
    #Production: None
    
  15. 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 = {'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
    
  16. 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 = {'a': 10, 'b': 20, 'c': 30}
    print(dictionnaire)
    #Production:{'a': 10, 'b': 20, 'c': 30}
    
    print(list(dictionnaire.values()))
    #Production:[10, 20, 30]
    
  17. 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

    1. Comment trouver la longueur d'un dictionnaire Python
      • Python a la fonction intégrée len() pour trouver la longueur d'un dictionnaire.
      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
      """
    2. Comment itérer dans un dictionnaire Python
      • On peut parcourir le dictionnaire Python en utilisant la boucle for.
      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
      """
      
    3. 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.
      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
      """
      
  • Applications

    1. App01
      1. É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:
        Entrez un nombre: 4
        {1: 1, 2: 4, 3: 9, 4: 16}
        
      2. Solution

        nbr=int(input("Entrez un nombre "))
        dictionnaire = dict()
        
        for x in range(1,nbr+1):
            dictionnaire[x]=x*x
        print(dictionnaire)
        
    2. App02
      1. Énoncé
        • Créez un dictionnaire inversé où les valeurs deviennent des clés et les clés deviennent des valeurs dans une liste (car plusieurs clés peuvent avoir la même valeur).
        def inverser_dict(dictionnaire):
            # Votre code ici
            pass
        
        # Exemple
        d = {'a': 1, 'b': 2, 'c': 1, 'd': 3}
        resultat = inverser_dict(d)
        # Doit donner: {1: ['a', 'c'], 2: ['b'], 3: ['d']}