map is a builtin function that takes one function func and one or more iterables, and maps the function to each element in the iterables. I wrote the following function that does the reverse, but it feels like this is such a basic operation that someone must have done this before, and hopefully given a better name to this.
This appears to be a related question with a slightly different solution:
from toolz import curry, compose
@curry
def fmap(funcs, x):
return (f(x) for f in funcs)
cases = fmap([str.upper, str.lower, str.title])
tuple_of_cases = compose(tuple, cases)
strings = ['foo', 'bar', 'baz']
list(map(tuple_of_cases, strings))