Szybkość pętli
Oczywiście set lepiej nadaje się do wyszukiwania elementów. Opiera się na funkcjach skrótu, dzięki czemu w większości przypadków możesz spodziewać się stałej złożoności. Ale co z iterowaniem po wszystkich elementach obiektu? Porównajmy szybkość iteracji pętlą po elementach list i set za pomocą pytest i pytest-benchmark. Pakiet pytest jest już zaimportowany.
To ćwiczenie jest częścią kursu
Wprowadzenie do testowania w Pythonie
Instrukcje do ćwiczenia
- Dodaj dekorator
@benchmarkprzed funkcjami, których nazwy zaczynają się oditerate_. - Uzupełnij pętle w funkcjach
iterate_listiiterate_set.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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