НачатьНачать бесплатно

Скорость циклов

Разумеется, 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
Редактировать и запускать код