map и типы информации

Хочу совершить в map сразу 2 действия, это сделать все элементы списка типом float и возвести их в степень с помощью функции, и в коде ниже все работает, но я хочу код без этой строчки float_nums = map(f, float_nums). В моей голове это выглядит так: float_nums = map(float + f, str_nums), но это собственно так не работает, может можно как-то заменить плюс символом или командой которая сработает?

# map() и типы информации

str_nums = ['1', '2', '3', '4', '5']
def f(number):
    return number ** 2

float_nums = map(float, str_nums)
float_nums = map(f, float_nums)
print(list(float_nums))

Ответы (2 шт):

Автор решения: Алексей Р

Используйте лямбду

str_nums = ['1', '2', '3', '4', '5']
float_nums = list(map(lambda x: float(x) ** 2, str_nums))
print(float_nums)
[1.0, 4.0, 9.0, 16.0, 25.0]

Или обычную функцию

def f(number):
    return float(number) ** 2

str_nums = ['1', '2', '3', '4', '5']
float_nums = list(map(f, str_nums))
print(float_nums)
→ Ссылка
Автор решения: CrazyElf

Можно два раза подряд применить map. Проще вроде нельзя это написать без изменения самой функции и используя только map:

float_nums = list(map(f, map(float, str_nums)))
→ Ссылка