Python. lambda и map функции

В Python есть крайне необычные функции, которые не всегда даже можно вообразить.

Например, если вы такой занятый, что вам было некогда писать функцию, а в момент написания кода эта самая функция вам понадобилась, то ее можно сразу и написать внутри кода, для этого лишь указав слово lambda.

lamba список аргументов через запятую, разделитель : далее код самой функции.

Вот так это будет выглядеть – возведем число x в степень y

stepen =  lambda x,y : x*y

Теперь можем использовать так:

stepen(3,5)

возведет 3 в 5 степень.

Для отображения на экране

print (stepen(3,5))

Можно так же попробовать что-то типа такого:

r=5
u= lambda x:x**2

if r>u(2):
    print('больше')
else:
    print('меньше')

 

Вторая интересная функция map.

В качестве первого аргумента она принимает функцию, а в качестве второго или третьего – списки данных.

Например,

Напишем функцию aa которая данное число умнажает на себя и прибавляет 3.
def aa(x):
    x*=x+3
    return x

Создадим список значений, которые будет брать поочередно map
b=[1,2,3,4]

Прокрутим-рассчитаем все значения через map
c= map(aa,b)

Получили результат в с, но это пока объект, его надо перобразовать в список:
d = list(c)

Теперь смотрим результат.
print(d)

Если же у функции например 2 или более аргумента, то тогда так:

def bb(x,y):
    x*=y+3
    return x

Два списка, так как два аргумента у функции
b=[1,2,3,4]
c=[2,0,3,6]

# bb - сама функция, b - первый аргумент, c -второй. map прокрутит все аргументы по попрядку.
c= map(bb,b,c)
d = list(c)
print(d)

Вывод:
[5, 6, 18, 36]

 

 

 

 

 

 

Оставьте первый комментарий

Отправить ответ