Новые списки

Что нужно сделать

Даны три списка:

from typing import List


floats: List[float] = [12.3554, 4.02, 5.777, 2.12, 3.13, 4.44, 11.0001]
names: List[str] = ["Vanes", "Alen", "Jana", "William", "Richards", "Joy"]
numbers: List[int] = [22, 33, 10, 6894, 11, 2, 1]

Напишите код, который создаёт три новых списка. Вот их содержимое:

  1. Каждое число из списка floats возводится в третью степень и округляется до трёх знаков после запятой.
  2. Из списка names берутся только те имена, в которых есть минимум пять букв.
  3. Из списка numbers берётся произведение всех чисел.

Что оценивается

  • Результат вычислений корректен.
  • Переменные, функции и собственные методы классов имеют значащие имена, не abcd.
  • Решение опирается на использование лямбда-функций.
from typing import List
from functools import reduce


floats: List[float] = [12.3554, 4.02, 5.777, 2.12, 3.13, 4.44, 11.0001]
names: List[str] = ["Vanes", "Alen", "Jana", "William", "Richards", "Joy"]
numbers: List[int] = [22, 33, 10, 6894, 11, 2, 1]

#good_floats: List[float] = [round((number ** 3), 3) for number in floats]
lambda_floats: List[float] = list(map(lambda number: round(number ** 3, 3), floats))

#good_names: List[str] = [name for name in names if len(name) >= 5]
lambda_names: List[str] = list(filter(lambda name: len(name) >= 5, names))

lambda_numbers: int = reduce(lambda number1, number2: number1 * number2, numbers)

if __name__ == '__main__':
    print(f'''
    {lambda_floats}
    {lambda_names}
    {lambda_numbers}
    ''')