Python : Manipulation des dictionnaires
Tags: python, french, beginners
Published: 2022-03-30 08:43:10

---
title: Python : Manipulation des dictionnaires
published: true
description: 
tags: Python, French, beginner
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y45tm2h71x9vvd86le71.jpg
series: Python crash course
---

Le cours accéléré Python est gratuit et sera publié ici sur dev.to. Je publierai un nouvel article tous les deux jours environ. Pour ne rien manquer, vous pouvez me suivre sur twitter : <a href="https://twitter.com/EricLeCodeur" class="twitter-follow-button" data-show-count="false">Suivez @EricLeCodeur<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


# Type de variable : Dictionnaires

Les dictionnaires permettent de stocker plusieurs items dans une seule variable sous le format clé/valeur.

Un dictionnaire est très semblable à une List mais au lieu d'utiliser des index, on utilise des clés.

Par exemple, parfois nous aurions besoin d’une liste d’étudiant avec leur no, leur nom et leur âge. Pour ce faire nous pourrions utiliser une variable de type List que nous venons justement d’apprendre :

```python
student = ["1020", "Mike Taylor", 17]

print(student)
# ["1020", "Mike Taylor", 17]
```

Quoique cet exemple soit fonctionnel, il serait beaucoup plus simple et efficace si notre No d’étudiant pouvait être la clé d’accès.

Voici un exemple du résultat désirez. C’est-à-dire accéder à l’information à partir d’un nom de clé.

```python
print(student["no"])
# 1020

print(student["name"])
# Mike Taylor

print(student["age"])
# 17
```

Ce type de liste avec une clé personnalisée existe en Python sous le nom de Dictionary.

### Créer un Dictionary

Voici comment déclarer un Dictionary on utilisant les accolades { }

```python
student = {
    "no": 1020,
    "name": "Mike Taylor",
    "age": 17
}
```

La structure d’un Dictionary est sous forme de clé/valeur. La syntaxe est la suivante : “nom de la clé”: valeur

```python
"no": 1020
```

Chaque clé/valeur est séparée par une virgule.

```python
student = {
    "no": 1020,
    "name": "Mike Taylor",
    "age": 17
}
```

### Récupération

La récupération peut s’effectuer directement ou avec la fonction get()

Directement :

```python
print(student["no"])

# KeyError: 'num'
```

Si la clé n’existe pas, la syntaxe directe retourne une erreur “KeyError: 'num’” et du coup arrête l’exécution du code

Fonction get()

```python
print(student.get("num"))

# None
```

Si la clé n’existe pas, la fonction get() retourne la valeur “None” du coup le code continu son exécution.

Avec la fonction get() il est possible de retourner une valeur par défaut si la clé n’existe pas.

```python
print(student.get("num", "no key"))

# no key
```

### Ajouter une clé/valeur

Pour ajouter une clé/valeur il suffit d’assigner :

```python
student = {
    "no": 1020,
    "name": "Mike Taylor",
    "age": 17
}

student["city"] = "Paris"

print(student)
# {'no': 1020, 'name': 'Mike Taylor', 'age': 17, 'city': 'New York'}
```

### Effacer une clé/valeur
Pour effacer une clé/valeur du dictionnaire. Il suffit d'utiliser le mot-clé "del"
```python
student = {
    "no": 1020,
    "name": "Mike Taylor",
    "age": 17
}

del student["age"]
print(student)
#{'no': 1020, 'name': 'Mike Taylor'}
```

### Boucle dans les items d’un Dictionary

Comme pour une List, il est possible de faire une boucle dans un Dictionary. Le seul truc c’est qu’il faut identifier à l’avance sur quoi nous voulons faire la boucle. Les clés ? Les valeurs ? Les deux ?

Boucle sur les clés. Pour ce faire il faut utiliser la fonction keys(). Cette fonction retourne une liste de toutes les clés du Dictionary

```python
student = {
    "no": 1020,
    "name": "Mike Taylor",
    "age": 17
}

print(student.keys())
# dict_keys(['no', 'name', 'age'])
```

Il sera donc possible de faire une boucle sur cette liste

```python
student = {
    "no": 1020,
    "name": "Mike Taylor",
    "age": 17
}

for key in student.keys():
    print(key)

# no
# name
# age
```

Boucle sur les valeurs. Même principe que pour les clés. Sauf cette fois il faut utiliser la fonction .values()

```python
student = {
    "no": 1020,
    "name": "Mike Taylor",
    "age": 17
}

for value in student.values():
    print(value)

# 1020
# Mike Taylor
# 17
```

Boucle sur clé et valeurs. Il faut utiliser la fonction items() qui fait deux retours soit la clé et la valeur.

```python
student = {
    "no": 1020,
    "name": "Mike Taylor",
    "age": 17
}

for key, value in student.items():
    print(key, value)

# no 1020
# name Mike Taylor
# age 17
```

### List de Dictionary

Un pattern très populaire est de créer une List de Dictionary. Ce pattern ressemble beaucoup à table dans une base de données.

La List représente chaque ligne de la table et le Dictionary représente les colonnes de la table.

````python
products = [
    {'id': 100, 'name': 'iPadPro'},
    {'id': 200, 'name': 'iPhone 12'},
    {'id': 300, 'name': 'Charger'},
]

print(products[0]['name']) # iPadPro
````

## Conclusion
C'est tout pour aujourd'hui, je publierai un nouvel article tous les deux jours environ. Pour être sûr de ne rien rater vous pouvez me suivre sur twitter : <a href="https://twitter.com/EricLeCodeur" class="twitter-follow-button" data-show-count="false">Suivre @EricLeCodeur</a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>