Mesurer le temps II
Comme nous l’avons vu dans les cours, dans la majorité des cas, une liste en compréhension est plus rapide qu’une boucle for.
Dans cette démonstration, vous allez voir un cas où la différence d’efficacité entre une compréhension de liste et une boucle for est si faible que l’une ou l’autre exécute cette tâche simple instantanément.
Dans la liste words, on trouve des mots aléatoires récupérés sur Internet. Nous voulons créer une autre liste appelée listlet dans laquelle nous ne conservons que les mots qui commencent par la lettre b.
Si vous n’êtes pas à l’aise avec la manipulation des chaînes en Python, chaque chaîne possède l’attribut .startswith(), qui renvoie un booléen True/False indiquant si la chaîne commence par une lettre/une expression donnée ou non.
Cet exercice fait partie du cours
Écrire du code efficace avec pandas
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Store the time before the execution
start_time = time.___()
# Execute the operation
letlist = [wrd for wrd in words if wrd.startswith('b')]
# Store and print the difference between the start and the current time
total_time_lc = time.time() - ___
print('Time using list comprehension: {} sec'.format(total_time_lc))