1. Apprendre
  2. /
  3. Cours
  4. /
  5. Rédiger du code Python efficace

Connected

Exercice

Pratique avec les fonctions intégrées : enumerate()

Dans cet exercice, vous allez pratiquer l'utilisation de la fonction intégrée de Python enumerate(). Cette fonction est utile pour obtenir une liste indexée. Par exemple, supposons que vous ayez une liste des personnes arrivées à une fête que vous organisez. La liste est ordonnée par ordre d'arrivée (Jerry est arrivé en premier, suivi de Kramer, etc.) :

names = ['Jerry', 'Kramer', 'Elaine', 'George', 'Newman']

Si vous vouliez associer un indice représentant l'ordre d'arrivée d'une personne, vous pourriez utiliser la boucle for suivante :

indexed_names = []
for i in range(len(names)):
    index_name = (i, names[i])
    indexed_names.append(index_name)

[(0,'Jerry'),(1,'Kramer'),(2,'Elaine'),(3,'George'),(4,'Newman')]

Mais ce n'est pas la solution la plus efficace. Voyons comment utiliser enumerate() pour rendre cela plus efficace.

Instructions

100 XP
  • Au lieu d'utiliser for i in range(len(names)), modifiez la boucle for pour utiliser i comme variable d'indice et name comme variable d'itération, et utilisez enumerate().
  • Réécrivez la boucle for précédente en utilisant enumerate() et une compréhension de liste pour créer une nouvelle liste, indexed_names_comp.
  • Créez une autre liste (indexed_names_unpack) en utilisant l'astérisque (*) pour décompresser l'objet enumerate obtenu en appliquant enumerate() à names. Cette fois, faites commencer l'indice de enumerate() à un au lieu de zéro.