Степени двойки через анонимную функцию

В Python анонимную lambda-функцию удобно сочетать с встроенной функцией map(). В этом примере с их помощью получим список степеней двойки: 2⁰, 2¹, 2², … и так далее.

Что нужно знать

Перед изучением примера полезно понимать:

Пример

# 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() и затем выводим в цикле.