Найчастіше з map застосовують анонімні функції, як у прикладі вище. Замість списку вхідних даних також можна використовувати список функцій:
defmultiply(x):return(x*x)defadd(x):return(x+x)funcs =[multiply, add]for i inrange(5): value =list(map(lambdax: x(i), funcs))print(value)# Результат:# [0, 0]# [1, 2]# [4, 4]# [9, 6]# [16, 8]
filter()
filter повертає список елементів, для яких задана функція повертає True:
filer є вбудованою функцією і працює швидше, ніж цикл.
reduce()
reduce дуже корисна функція для виконання обчислень на списку та повернення єдиного результату. Вона згортає список, застосовуючи отриману як аргумент функцію по черзі до послідовних пар елементів. Наприклад, якщо ми хочемо порахувати добуток всіх елементів списку чисел.
Звичайним вирішенням цього завдання буде використання циклу for: