Vitesse des boucles
Bien entendu, set
est mieux adapté à la recherche d'éléments. Il est basé sur des hachages, vous pouvez donc vous attendre à une complexité constante la plupart du temps. Mais qu'en est-il de l' itération sur tous les éléments de l'objet ? Comparons la vitesse d'itération de la boucle sur les éléments de list
et set
avec pytest
et pytest-benchmark
. Le paquet pytest
a déjà été importé.
Cet exercice fait partie du cours
Introduction aux tests en Python
Instructions
- Ajoutez le décorateur
@benchmark
avant les fonctions commençant pariterate_
. - Complétez les boucles dans
iterate_list
etiterate_set
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
def test_list(benchmark):
# Add decorator here
@____
def iterate_list():
# Complete the loop here
____ in [i for i in range(1000)]:
pass
def test_set(benchmark):
# Add decorator here
____
def iterate_set():
# Complete the loop here
____ in {i for i in range(1000)}:
pass