Швидкість циклів
Звісно, set краще підходить для пошуку елементів. Він ґрунтується на хешах, тож зазвичай можна очікувати сталу складність. Але що щодо ітерації всіх елементів об'єкта? Порівняймо швидкість проходження циклом елементів list і set за допомогою pytest і pytest-benchmark. Пакет pytest уже імпортовано.
Ця вправа є частиною курсу
Вступ до тестування в Python
Інструкції до вправи
- Додайте декоратор
@benchmarkперед функціями, що починаються зiterate_. - Завершіть цикли в
iterate_listіiterate_set.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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