top of page

Qu’est-ce que la fonction « enumerate() » et comment l’utiliser ?

  • Writer: MYPE SAS
    MYPE SAS
  • Dec 28, 2022
  • 2 min read

Updated: Jun 24

En Python la boucle « for » est généralement utilisée sur des itérables (listes, dictionnaires, chaine de caractères…). Cette boucle est très pratique pour parcourir tous les éléments qui composent cet itérable. Cependant il peut être très utile lorsque l’on veut récupérer la valeur d’un élément et son index par exemple. Vous pouvez utiliser la fonction « enumerate() ».

Prenons l’exemple ci-dessous :


ree

On observe ici que grace à la boucle « for » on peut afficher tous les éléments de la liste « list ».

Mais maintenant mettons que nous souhaitons faire apparaitre la valeur et l’index qui va avec. Alors nous devrions faire le code suivant :


ree

Nous avons ici utilisé les fonctions « range() » et « len() » qui nous permettent d’afficher un index incrémenté à côté de la valeur.

Pour rappel la fonction « range() » permet de générer des séquences d’entiers consécutifs. Elle prend 3 paramètres : « start », « stop », « step ». « Start » pour la valeur de départ, « stop » pour la valeur d’arrivée mais elle ne sera pas incluse car l’index commence à zéro et « step » pour l’incrément. Si la fonction est utilisée avec un seul paramètre, c’est le paramètre stop qui sera utilisé.

La fonction « len » retourne le nombre de caractère d’une chaine.

Dans cet exemple range(len(list)) correspond à ça :


ree

La fonction « enumerate() » est une fonction beaucoup plus simple et très efficace. Regardons ce qu’elle produit lorsqu’on l’utilise :


ree

Cette fonction est beaucoup plus rapide, il y a moins de code à écrire.

Le résultat est un ensemble de tuples.

L’index commence à zéro mais la fonction « enumerate() » possède un paramètre « start= » qui permet de faire commencer l’index plus tard ou plus tôt.

On peut insérer dans une liste cet ensemble de tuples et naviguer très facilement dedans comme dans cet exemple :


ree

On obtient ici une liste de tuples que l’on peut filtrer. Si par exemple on souhaite conserver uniquement les index divisibles par deux et bien nous pourrons faire ce code :


ree

Enfin il est possible de faire un code un peu plus optimisé :


ree

La fonction « enumerate() » fait partie des fonctions à connaitre par le data scientist en plus de celles que l’on trouve dans les librairies Panda ou Numpy. Nos formations Python vous permettront d’approfondir vos connaissances.







 
 
 

Un formateur vous rappelle dans les 24h

Contact Expert Python

Laissez-nous vos coordonnées pour être rappelé dans les 24h.

bottom of page