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
@benchmarkavant les fonctions commençant pariterate_. - Complétez les boucles dans
iterate_listetiterate_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