Les dictionnaires permettent de mémoriser des informations en les associant à une clé qui est la plupart du temps une chaîne de caractères. Par exemple, un dictionnaire peut contenir un carnet d'adresses et on accède à chaque contact en précisant son nom.
Les parenthèses () délimitent les tuples, les crochets [] délimitent les listes et les accolades {} délimitent les dictionnaires.
Première méthode :
>>> carnet_adresse = dict() >>> type(carnet_adresse) <class 'dict'> {} >>>
Deuxième méthode :
>>> carnet_adresse = {} >>> type(carnet_adresse) <class 'dict'> {} >>>
Pour ajouter une valeur, il faut préciser la clé et la valeur associée :
>>> carnet = {} >>> carnet["nom"] = "Dupond" >>> carnet["prenom"] = "Jean" >>> carnet {'nom': 'Dupond', 'prenom': 'Jean'} >>>
Pour accéder à une valeur, on utilise la clé associée :
>>> carnet["nom"] 'Dupond*' >>>
Si la clé n'existe pas dans le dictionnaire, cela génère une erreur. Il est possible de tester au préalable l'existence d'une clé de cette façon :
>>> "nom" in carnet True >>> "adresse" in carnet False
On peut utilisé comme clé, des chaînes de caractères (comme précédemment), des entiers, des listes ou les toris à la fois selon les besoins.
Par exemple :
>>> mon_dictionnaire = {} >>> mon_dictionnaire[0] = "a" >>> mon_dictionnaire[1] = "e" >>> mon_dictionnaire[2] = "i" >>> mon_dictionnaire[3] = "o" >>> mon_dictionnaire[4] = "u" >>> mon_dictionnaire[5] = "y" >>> mon_dictionnaire {0: 'a', 1: 'e', 2: 'i', 3: 'o', 4: 'u', 5: 'y'} >>>
echiquier = {} echiquier[('a', 1)] = "tour blanche" # En bas à gauche de l'échiquier echiquier[('b', 1)] = "cavalier blanc" # À droite de la tour
note = {“maths”:12, “anglais”:15, “histoire”:13}
del carnet["nom"]
carnet.pop("nom")
>>> carnet {'nom': 'Dupond', 'prenom': 'Jean', ('prenom', 2): 'Jean dominique'} >>> for cle in carnet: ... print(cle) ... nom prenom ('prenom', 2) >>>
Les clés ne s'affichent pas forcément dans l'ordre dans lequel on les a entrées car les dictionnaires n'ont pas de structure ordonnée.
>>> for valeur in carnet.values(): ... print(valeur) ... Dupond Jean Jean dominique >>>
La méthode values() permet aussi de faire des tests d'existence d'une valeur dans un dictionnaire :
>>> if "Dupond" in carnet.values(): ... print("Le nom Dupond est déjà présent dans le carnet d'adresse.") ... Le nom Dupond est déjà présent dans le carnet d'adresse. >>>
Pour obtenir à la fois la liste des clés et leur valeur, on utilise la méthode items() qui renvoie une liste de tuples contenant couples clé : valeur.
>>> for cle,valeur in carnet.items(): ... print("La clé {} contient la valeur {}.".format(cle, valeur)) ... La clé nom contient la valeur Dupond. La clé prenom contient la valeur Jean. La clé ('prenom', 2) contient la valeur Jean dominique. >>>