def largest_two(A):
my_max,second = A[:2] ❶
if my_max < second:
my_max,second = second,my_max
for idx in range(2, len(A)):
if my_max < A[idx]: ❷
my_max,second = A[idx],my_max
elif second < A[idx]: ❸
second = A[idx]
return (my_max, second)
Python — интерпретируемый язык программирования: написанная программа транслируется в промежуточное представление, называемое байт-кодом, а при выполнении программы запускается интерпретатор Python, который читает, интерпретирует и выполняет инструкции байт-кода. Встроенные же функции, например max(), — часть самого интерпретатора: пока такая функция обрабатывает объект, не нужно ничего дополнительно интерпретировать. Поэтому встроенные функции всегда быстрее тех, что написаны на Python
Представлены данные о самом быстром (потребовавшем меньше всего времени) решении среди всех попыток. Такой подход лучше обычного вычисления среднего времени по всем однотипным наборам данных, потому что в среднее может закрасться измерение, которое оказалось большим не по вине алгоритма.