@Anna979

Дан следующий блок кода. Прокомментировать его выполнение. Как переписать данный код с использованием функционального подхода?

Использование циклов запрещено.
1. newlst = []
2. i = 0
3. while i < len (lst1):
4. newlst.append(math.pow((lst1[i] + lst2[i]), 1/3))
5. i += 1
6.
7. print (newlst)

Вариант
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
adugin
@adugin Куратор тега Python
from functools import reduce
from operator import pow, add

# Вариант #1
print(reduce(lambda result, vals: result + [pow(sum(vals), 1/3)], zip(lst1, lst2), []))

# Вариант #2
print(list(map(lambda x: pow(x, 1/3), map(add, lst1, lst2))))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AstraVlad
Финансист, консультант, программист-любитель
Рекурсию запилить, например.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы