Une des clés pour maîtriser le langage Python est la bonne compréhension de ses structures de données. Dans ce article je vous propose d’étudier les dictionnaires.

Un dictonnaire en python (dict) s’écrit à l’aide d’un couple clé->valeur, avec clé qui peut être de n’importe quel type hashable (qui contient les méthodes __eq__() et __hash__()). la valeur peut être de n’importe quel type.

L’intérêt des dictionnaires est clairement la rapidité d’examen de grosse liste de données. Il est possible de vérifier l’existence d’une clé sans avoir besoin d’examiner toutes les données. Toute la différence avec les tableaux qui utilise la notion d’index.

Comment créer un dictionnaire

Pour créer un nouveau dictionnaire, il suffit de taper l’instruction suivante :

>>> a = {} 

 On peut ensuite y insérer des données :

>>> a["nom"] = "edounze">>> a["prenom"] = "charles">>> a{'nom': 'edounze', 'prenom': 'charles'} 

 On peut également faire d’une pierre deux coups (construction + ajout de données)

>>> a = {'nom': 'edounze', 'prenom': 'charles'} 

Récupération des données

La récupération des données se faire à l’aide de la méthode interne get. Il est possible de préciser une valeur de sortie par défaut, dans le cas ou la clé serait vide. 

>>> data = {"name": "charles", "age": 27}>>> data.get("name")'charles'>>> data.get("adresse", "Adresse inconnue")'Adresse inconnue'

Pour vérifier la présence ou l’absence d’une clé, il suffit d’utiliser la méthode has_key qui renvoie un booléen :

>>> a.has_key("name")True

 La suppresion d’une clé se faire à l’aide de l’instruction del :

>>> del a["name"]>>> a{'prenom': 'charles'}

Manipulation des données

Pour afficher les données d’un dictionnaire, on peut utiliser différentes boucles, comme la boucle For :

>>> fiche = {"name":"edounze","prenom":"charles"}>>> for cle,valeur in fiche.items():...     print cle, valeur... nom edounzeprenom charles

Méthodes intéressantes et usages

a.clear()

Supprime toutes les entrées du dictionnaires a.

a.copy()

Fais une copie du dictionnaire. Une modification du dictionnaire original n’aura pas d’impact sur la copie

a = {1: 'a', 2: 'b', 3: 'c'}copie_dict = a.copy()copie_dict # {1: 'a', 2: 'b', 3: 'c'}a[1] = 'z'copie_dict # {1: 'a', 2: 'b', 3: 'c'}

del a[d]

</p>

Supprimer la valeur associé à la clé ‘d’.

 

dict.fromkeys(seq[, value])

Crée une copie du dictionnaire a avec des clés identiques. Si la variable value (optionnelle) est précisée, ses valeurs seront ajouter au nouveau dictionnaire.

my_list = [1, 2, 3]my_dictionary = dict.fromkeys(my_list, )my_dictionary # {1: , 2: , 3: }

len(a)

</p>

 Renvoie la taille du dictionnaire a.

print 'le dictionnaire contient {} entrées'.format(len(a)) 
</p>

k not in d

 Permet de tester la non-existence d’une valeur