@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)

Вариант
  • Вопрос задан
  • 74 просмотра
Решения вопроса 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
Финансист, консультант, программист-любитель
Рекурсию запилить, например.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 200 000 ₽
Гринатом Москва
от 150 000 ₽
DIGITAL SECTOR Краснодар
от 150 000 до 250 000 ₽
25 июн. 2024, в 14:17
10000 руб./за проект
25 июн. 2024, в 13:36
1500 руб./в час
25 июн. 2024, в 13:36
3000 руб./за проект