⊗pyPmFnLa 16 of 129 menu

Lambda-funktsioon Pythonis

Oletame, et meil on funktsioon func, mis parameetritena võtab vasta nimekirja ja tagasihelistamise. Funktsioon loob uue nimekirja algse nimekirja elementidest. Samal ajal rakendatakse iga elemendi peale tagasihelistamist:

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

Nüüd loome funktsiooni square, mis tõstab talle antud arvu ruutu:

def square(num): return num ** 2

Edastame parameetritesse func numbrite nimekirja ja funktsiooni square tagasihelistajana:

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

Konsooli kuvatakse uus nimekirja, mis koosneb numbrite ruutudest:

[1, 4, 9]

Siiski saab antud koodi oluliselt lühendada, kasutades lambda-funktsiooni - anonüümset funktsiooni, mida kutsutakse välja klõsõnaga lambda ja kirjutatakse ühele reale. Seetõttu saab lambda-funktsiooni ümber kirjutada ainult funktsioone, mille kood mahub ühele reale.

Lambda-funktsiooni süntaks näeb välja selline:

lambda funktsiooni parameeter: tehe funktsiooni parameetriga

Kirjutame funktsiooni square ümber kasutades lambda-funktsiooni ja edastame selle parameetrisse func:

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

Lambda-funktsiooni saab kirjutada muutujasse:

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

Kirjutage järgmine kood ümber lambda-funktsiooni abil:

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

Kirjutage järgmine kood ümber lambda-funktsiooni abil:

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

Kirjutage järgmine kood ümber lambda-funktsiooni abil:

def func(num1, num2, clb): res = clb(num1) + num2 return res def clb(num): return num ** 3 print(func(2, 6, clb))
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu