Snelheid van lussen
Natuurlijk is set beter geschikt voor het zoeken van elementen. Het is gebaseerd op hashes, dus je kunt meestal een constante complexiteit verwachten. Maar hoe zit het met itereren over alle elementen van het object? Laten we de snelheid van lus-iteratie over de elementen van list en set vergelijken met pytest en pytest-benchmark. Het pakket pytest is al geïmporteerd.
Deze oefening maakt deel uit van de cursus
Introductie tot testen in Python
Oefeninstructies
- Voeg de decorator
@benchmarktoe vóór de functies die beginnen metiterate_. - Maak de lussen in
iterate_listeniterate_setaf.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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