Előző Fejezet: a Reguláris Kifejezéseket, Speciális
Következő Fejezet: a Lista Megértés

Lambda, szűrő, csökkenti majd a térkép

Lambda Operátor

Valami tetszik, mások utálják sokan félnek a lambda operátor. Biztosak vagyunk benne, hogy tetszeni fogez, amikor befejezte ezt a fejezetet a bemutató., Ha nem, akkor mindent megtudhat a “Listafelfogásokról”, Guido van Rossums inkább a módját választotta, mert nem szereti a Lambdát, a térképet, a szűrőt és a redukciót sem.
a lambda operátor vagy a lambda funkció egy módja annak, hogy kis névtelen funkciókat hozzon létre, azaz név nélküli funkciókat. Ezek a funkciók eldobott funkciók, azaz csak ott szükségesek, ahol létrehozták őket.A Lambda funkciókat elsősorban a függvényszűrővel(), térképpel() és reduce () kombinációban használják.A lambda funkciót a Python-hoz adták a Lisp programozók igénye miatt.,
a lambda függvény általános szintaxisa meglehetősen egyszerű:
lambda argument_list: expression
az argumentumlista az argumentumok vesszővel elválasztott listájából és az expresszióból állegy aritmetikai kifejezés ezen argumentumok felhasználásával. A függvényt egy változóhoz rendelheti, hogy nevet adjon neki.
a lambda függvény következő példája két Argumentumának összegét adja vissza:

>>> f = lambda x, y : x + y>>> f(1,1)2

a térkép () függvény

a lambda operátor előnye akkor látható, ha a map() funkcióval együtt használják.,
map () egy függvény két argumentummal:

r = map(func, seq)

az első argumentum func egy függvény neve, a második pedig egy szekvencia (pl. lista) seq. térkép () a func függvényt a seq szekvencia összes elemére alkalmazza. Visszaad egy új listát a funcIn által megváltoztatott elemekkela fenti példában nem használtuk a lambda-t. A lambda használatával nem kellett volna definiálnunk és megneveznünk a fahrenheit() és celsius () függvényeket. Ezt a következő interaktív munkamenetben láthatja: a térkép() egynél több listára is alkalmazható. A listáknak azonos hosszúságúnak kell lenniük., a map() a lambda függvényt az argumentumlisták elemeire alkalmazza, azaz először a 0. indexű elemekre, majd az 1.indexű elemekre vonatkozik, amíg az n-edik index el nem éri:

>>> a = >>> b = >>> c = >>> map(lambda x,y:x+y, a,b)>>> map(lambda x,y,z:x+y+z, a,b,c)>>> map(lambda x,y,z:x+y-z, a,b,c)

a fenti példában láthatjuk, hogy az x paraméter az a listából kapja meg értékeit,míg y a B és z értékeit a C listából kapja.

szűrés

A függvényszűrő(funkció, lista) elegáns módot kínál a lista összes elemének kiszűrésére, amelyre a funkció funkció true értéket ad vissza.
a függvényszűrőnek (f,l) első argumentumként F függvényre van szüksége., f egy logikai értéket ad vissza, azaz eitherTrue vagy False értéket. Ez a funkció a lista minden elemére vonatkozik l. csak akkor, ha az f true értéket ad vissza, a lista eleme szerepel az eredménylistában.

egy lista csökkentése

A függvény csökkentése (func, seq) folyamatosan alkalmazza a func () függvényt a seq szekvenciára. Ez egy értékként tér vissza.,
Ha seq = hívja csökkentése(func, seq) úgy működik, mint ez:
Mi szemléltetik ezt a folyamatot a következő példa:

>>> reduce(lambda x,y: x+y, )113

A következő ábra azt mutatja, hogy a köztes lépések a számítás:

Példák csökkentése()

Meghatározó legfeljebb egy listát a numerikus értékek használatával csökkenti:

>>> f = lambda a,b: a if (a > b) else b>>> reduce(f, )102>>> 

Kiszámítása a számok összege 1-től 100-ig:

>>> reduce(lambda x, y: x+y, range(1,101))5050

Előző Fejezet: a Reguláris Kifejezéseket, Speciális
Következő Fejezet: a Lista Megértés

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük