Степени двойки через анонимную функцию
В Python анонимную lambda-функцию удобно сочетать с встроенной функцией map(). В этом примере с их помощью получим список степеней двойки: 2⁰, 2¹, 2², … и так далее.
Что нужно знать
Перед изучением примера полезно понимать:
Python: цикл for — цикл
forЛямбда-функция (анонимная функция) в Python — анонимные функции (lambda)
Пример
# Display the powers of 2 using anonymous function
terms = 10
# Uncomment code below to take input from the user
# terms = int(input("How many terms? "))
# use anonymous function
result = list(map(lambda x: 2 ** x, range(terms)))
print("The total terms are:",terms)
for i in range(terms):
print("2 raised to power",i,"is",result[i])
Вывод
The total terms are: 10
2 raised to power 0 is 1
2 raised to power 1 is 2
2 raised to power 2 is 4
2 raised to power 3 is 8
2 raised to power 4 is 16
2 raised to power 5 is 32
2 raised to power 6 is 64
2 raised to power 7 is 128
2 raised to power 8 is 256
2 raised to power 9 is 512
Примечание
Чтобы изменить количество выводимых степеней, поменяйте значение переменной terms.
Как это работает
Функция map() применяет переданную функцию к каждому элементу итерируемого объекта. В качестве функции мы передаём lambda x: 2 ** x — короткую анонимную функцию, возвращающую двойку в степени x. Итерируемся по range(terms), то есть по числам от 0 до 9. Результат собираем в список через list() и затем выводим в цикле.