CommencezCommencez gratuitement

Vitesse des boucles

Bien sûr, set est mieux adapté à la recherche d'éléments. Il repose sur des hachages, donc vous pouvez vous attendre la plupart du temps à une complexité constante. Mais qu'en est-il de l'itération sur tous les éléments de l'objet? Comparons la vitesse d'itération en boucle sur les éléments d'une list et d'un set avec pytest et pytest-benchmark. Le paquet pytest a déjà été importé.

Cette activité fait partie du cours

Introduction aux tests en Python

Voir le cours

Instructions de l’exercice

  • Ajoutez le décorateur @benchmark avant les fonctions qui commencent par iterate_.
  • Complétez les boucles dans iterate_list et iterate_set.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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
Modifier et exécuter le code