Функция карты на самом деле является мощным инструментом для скорости. Он не отличается по функциональности от цикла for.
Функция map написана для непосредственного выполнения кодом C - следовательно, она выполняется быстрее, чем если бы она выполнялась интерпретированным кодом Python. Работает с любой функцией (первый параметр) и повторяется (второй параметр).
list(map(f,[x for x in range(3)])) # [0, 1, 4]
совпадает с ..
for x in range(3):
f(x)
Вы также можете использовать лямбда-выражение. Это даст те же результаты, что и ваша функция, без объявления функции:
list(map(lambda f: (f ** 2), [x for x in range(3)])) # [0, 1, 4]