⊗pyPmFnLa 16 of 129 menu

Lambda funkcija Python

Pieņemsim, ka mums ir funkcija func, kura parametros pieņem sarakstu un izsaukumu atpakaļ. Funkcija izveidos jaunu sarakstu no sākotnējā saraksta elementiem. Tajā pašā laikā katram elementam tiks piemērots izsaukums atpakaļ:

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

Tagad izveidosim funkciju square, kura kāpinās tai nodoto skaitli kvadrātā:

def square(num): return num ** 2

Padodam parametros func skaitlisko sarakstu un funkciju square kā izsaukumu atpakaļ:

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

Konsole tiks izvadīts jauns saraksts, kas sastāv no skaitļu kvadrātiem:

[1, 4, 9]

Tomēr šo kodu var ievērojami saīsināt, izmantojot lambda funkciju - anonīmu funkciju, kuru izsauc ar atslēgvārda lambda palīdzību un tiek ierakstīta vienā rindā. Tāpēc lambda funkcijā var pārrakstīt tikai funkcijas, kuru kods aizņem vienu rindu.

Lambda funkcijas sintakse izskatās šādi:

lambda funkcijas parametrs: darbība ar funkcijas parametru

Pārrakstīsim funkciju square ar lambda funkcijas palīdzību un padodam to parametrā func:

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

Lambda funkciju var ierakstīt mainīgajā:

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

Pārrakstiet šo kodu, izmantojot lambda funkciju:

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

Pārrakstiet šo kodu, izmantojot lambda funkciju:

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

Pārrakstiet šo kodu, izmantojot lambda funkciju:

def func(num1, num2, clb): res = clb(num1) + num2 return res def clb(num): return num ** 3 print(func(2, 6, clb))
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt