Rychlost cyklů
Jasně, set je pro vyhledávání prvků vhodnější. Funguje na principu hashů, takže ve většině případů můžeš počítat s konstantní složitostí. Ale co iterace přes všechny prvky objektu? Pojďme porovnat rychlost procházení prvků list a set pomocí pytest a pytest-benchmark. Balíček pytest je už naimportovaný.
Toto cvičení je součástí kurzu
Úvod do testování v Pythonu
Pokyny k cvičení
- Přidej dekorátor
@benchmarkpřed funkce začínající naiterate_. - Dokonči cykly ve funkcích
iterate_listaiterate_set.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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