Énumérer le dictionnaire en Python

Manav Narula 10 octobre 2023
Énumérer le dictionnaire en Python

La fonction enumerate() en Python retourne un objet de type enumerate et ajoute une variable compteur pour itérer sur une liste ou un autre type de collection. Elle facilite le bouclage sur de tels objets.

Nous pouvons voir le contenu d’un objet énumérer lorsque nous le passons à la fonction list(). Par exemple :

l = ["a", "b", "c"]
print(list(enumerate(l)))

Production :

[(0, 'a'), (1, 'b'), (2, 'c')]

Nous pouvons également utiliser la fonction enumerate() avec les dictionnaires.

L’exemple suivant montre un exemple élémentaire.

d1 = {"a": 15, "b": 18, "c": 20}

for i, j in enumerate(d1):
    print(i, j)

Production :

0 a
1 b
2 c

Remarquez que nous avons directement passé le dictionnaire à la fonction enumerate(), et qu’elle a seulement assigné la variable compteur aux clés du dictionnaire et non aux valeurs. Ainsi, lorsque nous avons itéré sur cet objet, nous n’avons pu accéder qu’à la variable compteur et aux clés du dictionnaire.

Pour énumérer à la fois les clés et les valeurs, nous pouvons utiliser la méthode items() du dictionnaire. La méthode items() renvoie un objet avec les paires clé-valeur sous forme de tuples. L’exemple suivant montre comment nous pouvons utiliser la méthode items() avec la fonction enumerate() et accéder à la fois à la clé et à sa valeur correspondante.

d1 = {"a": 15, "b": 18, "c": 20}

for i, (j, k) in enumerate(d1.items()):
    print(i, j, k)

Production :

0 a 15
1 b 18
2 c 20

Si nous ne voulons que les éléments du dictionnaire sans leurs clés, nous pouvons utiliser la fonction values(). Elle retourne une liste contenant les valeurs du dictionnaire.

Le code suivant montre comment :

d1 = {"a": 15, "b": 18, "c": 20}

for i, j in enumerate(d1.values()):
    print(i, j)

Production :

0 15
1 18
2 20
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python Dictionary