Понимание списка Python дорого

Я пытаюсь найти эффективность понимания списка, но это выглядит дороже, чем обычная функция функции. Может кто-нибудь объяснить?

def squares(values):
    lst = []
    for x in range(values):
        lst.append(x*x)
    return lst

def main():
    t = timeit.Timer(stmt="lst = [x*x for x in range(10)]")
    print t.timeit()
    t = timeit.Timer(stmt="squares",setup="from __main__ import squares")
    print t.timeit()

    lst = [x*x for x in range(10)]
    print lst
    print squares(10)



----Output:---
2.4147507644
0.0284455255965
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Для того же вывода нормальная функция вычисляет за очень короткое время по сравнению с пониманием списка.

Я думал, что понимание списка более эффективно.

Ответы на вопрос(1)

Ваш ответ на вопрос