A lambda is a one-line function without a name: lambda x: x * 1.08. It's handy wherever Python wants a function, like key= in sorted.
map(f, items) applies f to every item, and filter(f, items) keeps the items where f returns true. Both are lazy, so wrap them in list(...). A comprehension usually reads better: [f(x) for x in items if ...]. Use map when you already have a named function, as in map(float, raw).
functools.reduce(f, items, start) folds a list into one value, two at a time. Always pass a start value: on an empty list, reduce without one raises TypeError.
functools.partial(f, rate=0.2) makes a new function with some arguments filled in, and @functools.lru_cache remembers the results of an expensive function so repeat calls are instant.
from functools import reduce, partial
add_tax = lambda price, rate: round(price * (1 + rate), 2)
with_vat = partial(add_tax, rate=0.2)
list(map(with_vat, [10, 25])), reduce(lambda a, b: a * b, [2, 3, 4], 1)
Out: ([12.0, 30.0], 24). partial fixes the rate; reduce multiplies the numbers two at a time.