Почему встроенная функция sorted() работает медленнее для списка, содержащего числа по убыванию, если каждое число появлPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему встроенная функция sorted() работает медленнее для списка, содержащего числа по убыванию, если каждое число появл

Сообщение Anonymous »


I sorted four similar lists. List d consistently takes much longer than the others, which all take about the same time:

a: 33.5 ms b: 33.4 ms c: 36.4 ms d: 110.9 ms Why is that?

Test script (Attempt This Online!):
from timeit import repeat n = 2_000_000 a = [i // 1 for i in range(n)] # [0, 1, 2, 3, ..., 1_999_999] b = [i // 2 for i in range(n)] # [0, 0, 1, 1, 2, 2, ..., 999_999] c = a[::-1] # [1_999_999, ..., 3, 2, 1, 0] d = b[::-1] # [999_999, ..., 2, 2, 1, 1, 0, 0] for name in 'abcd': lst = eval(name) time = min(repeat(lambda: sorted(lst), number=1)) print(f'{name}: {time*1e3 :5.1f} ms')

Источник: https://stackoverflow.com/questions/781 ... rs-if-each
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»