Outils pour utilisateurs

Outils du site


icn:facultatif:c_langage_python_dictionnaire

Python : les dictionnaires

Présentation

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.

Création d'un dictionnaire

Les parenthèses () délimitent les tuples, les crochets [] délimitent les listes et les accolades {} délimitent les dictionnaires.

Création d'un dictionnaire

Première méthode :

>>> carnet_adresse  = dict()  
>>> type(carnet_adresse)
<class 'dict'>
{}
>>>

Deuxième méthode :

>>> carnet_adresse  = {}  
>>> type(carnet_adresse)
<class 'dict'>
{}
>>>

Ajout de valeurs

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'}
>>>
  • on indique entre crochets la clé à laquelle on souhaite accéder.
  • Si la clé n'existe pas, elle est ajoutée au dictionnaire avec la valeur spécifiée après le signe =.
  • Sinon, l'ancienne valeur à l'emplacement indiqué est remplacée par la nouvelle.

Accès à une valeur

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 :

  • utilisation d'entiers pour les clés :
>>> 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'}
>>>
  • utilisation de tuples pour les clés :
echiquier = {}
echiquier[('a', 1)] = "tour blanche" # En bas à gauche de l'échiquier
echiquier[('b', 1)] = "cavalier blanc" # À droite de la tour

Création de dictionnaires préremplis

note = {“maths”:12, “anglais”:15, “histoire”:13}

Supprimer des clés d'un dictionnaire

  • avec le mot-clé del :
del carnet["nom"]
  • avec la méthode de dictionnaire pop ; qui renvoie alors la valeur supprimée :
carnet.pop("nom")

Parcourir un dictionnaire

  • parcourir la liste de clés :
>>> 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.

  • Parcours des valeurs du dictionnaire avec la méthode values() :
>>> 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.
>>>

Parcours des clés et valeurs simultanément

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.
>>>

Retour au cours : Les instructions du langage Python

icn/facultatif/c_langage_python_dictionnaire.txt · Dernière modification: 2017/12/22 14:41 (modification externe)