Opérations sur les dictionnaires

10.3 Opérations sur les dictionnaires

Objectifs d'apprentissage

À la fin de cette section, vous devriez être capable de :

  • Reconnaître qu'un objet dictionnaire est mutable.
  • Évaluer les éléments, clés et valeurs d'un dictionnaire.
  • Démontrer la capacité à accéder aux éléments d'un dictionnaire, à les évaluer et à les modifier.
  • Modifier un dictionnaire en ajoutant des éléments.
  • Modifier un dictionnaire en supprimant des éléments.

Accéder aux éléments d'un dictionnaire

En Python, les valeurs associées aux clés d'un dictionnaire sont accessibles en utilisant les clés comme indices. Voici deux façons d'accéder aux éléments d'un dictionnaire en Python :

  • Notation entre crochets : les crochets [] contenant la clé permettent d'accéder à la valeur associée à cette clé. Si la clé est introuvable, une exception est levée.
  • Méthode get() : la méthode get() est appelée avec la clé en argument pour accéder à la valeur associée à cette clé. Si la clé est introuvable, la méthode renvoie None par défaut, ou une valeur par défaut spécifiée en second argument.

Ex. : Dans le code ci-dessous, un objet dictionnaire my_dict est initialisé avec les éléments {"apple": 2, "banana": 3, "orange": 4}. La notation entre crochets et la méthode get() sont utilisées pour accéder aux valeurs associées respectivement aux clés "banana" et "apple". Lors de l'accès au dictionnaire pour obtenir la valeur associée à la clé "pineapple", -1 est renvoyé puisque la clé n'existe pas dans le dictionnaire.

    my_dict = {"apple": 2, "banana": 3, "orange": 4}
    print(my_dict["banana"]) # Prints: 3
    print(my_dict.get("apple")) # Prints: 2
    print(my_dict.get("pineapple", -1)) # Prints: -1

Faites le point

Accéder aux éléments d'un dictionnaire

Concepts en pratique

Éléments d'un dictionnaire

Étant donné le dictionnaire members = {"Jaya": "Student", "John": "TA", "Ksenia": "Staff"}, répondez aux questions suivantes.

1.
Quelle est la sortie de members["Jaya"] ?
  1. 0
  2. None
  3. "Student"
2.
Quelle est la sortie de members.get("jaya") ?
  1. 0
  2. None
  3. "Student"
3.
Quelle est la sortie de members.get("jaya", "does not exist") ?
  1. "Student"
  2. "does not exist"
  3. None

Obtenir les clés et les valeurs d'un dictionnaire

Les clés d'un dictionnaire, ses valeurs, ainsi que les clés et les valeurs ensemble peuvent être obtenues en utilisant respectivement les appels de fonctions keys(), values() et items(). Les types de retour de keys(), values() et items() sont dict_keys, dict_values et dict_items, qui peuvent être convertis en un objet list à l'aide du constructeur de liste list().

Exemple 10.1

Formatage de modèle de chaîne pour les demandes d'inscription aux cours

Un objet dictionnaire avec les éléments {"a": 97, "b": 98, "c": 99} est créé. Les fonctions keys(), values() et items() sont appelées pour obtenir respectivement les clés, les valeurs et les éléments du dictionnaire. list() est également utilisée pour convertir la sortie en un objet list.

    dictionary_object = {"a": 97, "b": 98, "c": 99}

    print(dictionary_object.keys())
    print(list(dictionary_object.keys()))
    print(dictionary_object.values())
    print(dictionary_object.items())

La sortie du code ci-dessus est :

    dict_keys(["a", "b", "c"])
    ["a", "b", "c"]
    dict_values([97, 98, 99])
    dict_items([("a", 97), ("b", 98), ("c", 99)])

Concepts en pratique

Clés et valeurs d'un dictionnaire

Étant donné le dictionnaire numbers = {"one": 1, "two": 2, "three": 3}, répondez aux questions suivantes.

4.
Quel est le type de sortie de numbers.keys() ?
  1. dict_keys
  2. dict_values
  3. list
5.
Quelle est la sortie de print(numbers.values()) ?
  1. [1, 2, 3]
  2. dict_keys([1, 2, 3])
  3. dict_values([1, 2, 3])
6.
Quelle est la sortie de print(list(numbers.keys())) ?
  1. ["three", "two", "one"]
  2. ["one", "two", "three"]
  3. dict_keys(["one", "two", "three"])

Mutabilité des dictionnaires

En Python, un dictionnaire est un type de données mutable, ce qui signifie que le contenu d'un dictionnaire peut être modifié après sa création. Des éléments peuvent être ajoutés, mis à jour ou supprimés d'un dictionnaire après la création d'un objet dictionnaire.

Pour ajouter un élément à un dictionnaire, on peut utiliser soit la notation entre crochets, soit la fonction update().

  • Notation entre crochets : lors de l'utilisation des crochets pour créer un nouvel objet clé et lui affecter une valeur, la nouvelle paire clé-valeur sera ajoutée au dictionnaire. my_dict = {"apple": 2, "banana": 3, "orange": 4} my_dict["pineapple"] = 1 print(my_dict) # Prints: {"apple": 2, "banana": 3, "orange": 4, "pineapple": 1}
  • Méthode update() : la méthode update() peut être appelée avec des paires clé-valeur supplémentaires pour mettre à jour le contenu du dictionnaire. my_dict = {"apple": 2, "banana": 3, "orange": 4} my_dict.update({"pineapple": 1, "cherry": 0}) print(my_dict) # Prints: {"apple": 2, "banana": 3, "orange": 4, "pineapple": 1, "cherry": 0}

Pour modifier un élément d'un dictionnaire, les deux approches ci-dessus peuvent être utilisées sur une clé existante du dictionnaire avec la valeur mise à jour. Ex. :

  • Notation entre crochets : my_dict = {"apple": 2, "banana": 3, "orange": 4} my_dict["apple"] = 1 print(my_dict) # Prints: {"apple": 1, "banana": 3, "orange": 4}
  • Méthode update() : my_dict = {"apple": 2, "banana": 3, "orange": 4} my_dict.update({"apple": 1}) print(my_dict) # Prints: {"apple": 1, "banana": 3, "orange": 4}

Des éléments peuvent être supprimés d'un dictionnaire à l'aide du mot-clé del ou de la méthode pop().

  • Mot-clé del : my_dict = {"apple": 2, "banana": 3, "orange": 4} del my_dict["orange"] print(my_dict) # Prints: {"apple": 2, "banana": 3}
  • Méthode pop() : my_dict = {"apple": 2, "banana": 3, "orange": 4} deleted_value = my_dict.pop("banana") print(deleted_value) # Prints: 3 print(my_dict) # Output: {"apple": 2, "orange": 4}

Faites le point

Modifier les éléments d'un dictionnaire

Concepts en pratique

Modifier un dictionnaire

Étant donné le dictionnaire food = {"Coconut soup": "$15", "Butter Chicken": "$18", "Kabob": "$20"}, répondez aux questions suivantes.

7.
Quelle option modifie la valeur associée à la clé "Coconut soup" en "$11" tout en conservant les autres éléments inchangés ?
  1. food = {""Coconut soup": "$15""}
  2. food["Coconut soup"] = 11
  3. food["Coconut soup"] = "$11"
8.
Quelle option supprime l'élément "Butter Chicken": "$18" du dictionnaire food ?
  1. food.remove("Butter Chicken")
  2. del food["Butter Chicken"]
  3. del food.del("Butter Chicken")
9.
Quel est le contenu du dictionnaire food après avoir appelé food.update({"Kabob": "$22", "Sushi": "$16"}) ?
  1. {"Coconut soup": "$15", "Butter Chicken": "$18", "Kabob": "$22", "Sushi": "$16"}
  2. {"Coconut soup": "$15", "Butter Chicken": "$18", "Kabob": "$20", "Sushi": "$16"}
  3. { "Sushi": "$16", "Coconut soup": "$15", "Butter Chicken": "$18", "Kabob": "$20"}

À vous d'essayer

Créer un dictionnaire de voitures étape par étape

Suivez les étapes ci-dessous pour créer un dictionnaire de cars et le modifier étape par étape.

  1. Créez un dictionnaire vide.
  2. Ajoutez une paire clé-valeur "Mustang": 10.
  3. Ajoutez une autre paire clé-valeur "Volt": 3.
  4. Affichez le dictionnaire.
  5. Modifiez la valeur associée à la clé "Mustang" pour qu'elle soit égale à 2.
  6. Supprimez la clé "Volt" et la valeur associée.
  7. Affichez le contenu du dictionnaire.
    Affiche {"Mustang": 2}

À vous d'essayer

Le nombre de caractères uniques

Étant donné une valeur de chaîne de caractères, calculez et affichez le nombre de caractères uniques en utilisant un dictionnaire.

    Input:
    string_value = "This is a string"
    Affiche 10