> ***Contenue*** : Notions introduites : le type dictionnaire
> ***Compétences*** : Construire une entrée de dictionnaire, savoir itérer sur es élèments d'un dictionnaire, connaître les méthodes.
## Le programme
-----------

## Apport de connaissances
--------
Les dictionnaires Python permettent d'associer des valeurs à des clés : À partir d'une clé, on peut alors accéder directement à la valeur qui lui est associée.
### Propriétés
Les dictionnaires sont des conteneurs, comme les listes et tuples, vus précédemment, et sont mutables : *on peut donc modifier, ajouter ou supprimer du contenu.*
Par contre, contrairement aux types de conteneurs précédémment étudiés, on ne peut pas accéder au contenu d'un dictionnaire à l'aide d'un indice : un dictionnaire n'est pas une séquence.
Si on peut bien modifier les valeurs dans un dictionnaire, chaque clé est *unique et non mutable*. Elle peut être une chaîne de caractères, un nombre, un tulle de nombre...
Enfin, les valeurs, quant à elles, peuvent être quelconques.
-----------------
### Création et accès
Pour initialiser un dictionnaire vide :
```python
dico = {}
#ou
dico = dict()
```
Pour initialiser un dictionnaire avec des valeurs :
```pytho
perso = {"prenom" : "Bilbo", "age" : 111}
```
On a donc la clé en premier, ici, prenom & age sont deux chaines de caractères faisant office de clés.
Accéder à une valeur d'un dictionnaire : on donne la clé à laquelle est associée la valeur recherchée (il faut donc que la clé existe)
```python
perso ["prenom"]
'Bilbo'
perso["taille"]
KeyError "taille"
```
Tout comme les listes, on peut utiliser la fonction ***len*** pour connaître le nombre de couples stockés.
```python
len(perso)
2
```
--------------
### Modification et parcours
On ajoute très simplement un couple clé / valeur :
```python
perso ["taille"] = 112
perso
{"prenom" : 'Bilbo', 'age' : 111, 'taille' : 112}
```
Pour modifier une valeur, c'est la même méthode : on ajoute un couple deja existant, et cela va écraser la valeur précédente :
```python
perso["age"] = 131
perso
{'prenom' : 'Bilbo', 'age' : 131, 'taille' : 112}
```
Pour supprimer une clé et sa valeur associée, on peut utiliser la fonction ***del***:
```python
del perso["age"]
```
-----
Comme les listes et les tuples, les dictionnaires sont intérables : on itère sur les clés, les valeurs, ou les couples clé / valeur
<arel="license"href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><imgalt="Licence Creative Commons"style="border-width:0"src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png"/></a><br/>Ce cours est mis à disposition selon les termes de la <arel="license"href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.