⊗pyPmFnLa 16 of 129 menu

Лямбда-функцыя ў Python

Хай у нас ёсць функцыя func, якая параметрамі прымае спіс і зваротная функцыя. Функцыя будзе ствараць новы спіс з элементаў зыходнага спісу. Пры гэтым да кожнага з элементаў прыменіцца зваротная функцыя:

def func(lst, callback): res = [] for el in lst: res.append(callback(el)) return res

Цяпер створым функцыю square, якая будзе ўзводзіць перададзены ёй лік у квадрат:

def square(num): return num ** 2

Давайце перададзім у параметры func лікавы спіс і функцыю square у якасці зваротнай функцыі:

print( func([1, 2, 3], square) )

У кансоль выведзецца новы спіс, які складаецца з квадратаў лікаў:

[1, 4, 9]

Аднак гэты код можна значна скараціць, выкарыстоўваючы лямбда-функцыю - ананімную функцыю, якая выклікаецца з дапамогай ключавога слова lambda і запісваецца ў адным радку. Таму ў лямбда-функцыю можна перапісаць толькі функцыі, код якіх займае адзін радок.

Сінтаксіс лямбда-функцыі выглядае вось так:

lambda параметр функцыі: аперацыя з параметрам функцыі

Давайце перапішам функцыю square з дапамогай лямбда-функцыі і перададзім яе ў параметр func:

print( func([1, 2, 3], lambda num: num ** 2) )

Лямбда-функцыю можна запісаць у пераменную:

square = lambda num: num ** 2 print( func([1, 2, 3], square) )

Перапішыце наступны код праз лямбда-функцыю:

def func(num, clb): return clb(num) def clb(num): return num + 1 print( func(2, clb) )

Перапішыце наступны код праз лямбда-функцыю:

def func(num, clb1, clb2): return (clb1(num), clb2(num)) def clb1(num): return num + 1 def clb2(num): return num - 1 print( func(2, clb1, clb2) )

Перапішыце наступны код праз лямбда-функцыю:

def func(num1, num2, clb): res = clb(num1) + num2 return res def clb(num): return num ** 3 print(func(2, 6, clb))
Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць