A Python sok beépített funkciót tartalmaz, amelyek előre definiáltak, és amelyeket a végfelhasználó csak hívással használhat. Ezek a funkciók nemcsak megkönnyítik a programozók munkáját, hanem szabványos kódolási környezetet is létrehoznak. Ebben a cikkben három ilyen lenyűgöző funkcióval ismerkedhet meg, nevezetesen a map (), a filter és a kicsinyítés () in .
Mielőtt továbblépnénk, vessünk egy pillantást a tartalmára:
- Mit jelentenek a térkép, a szűrés és a csökkentés funkciók a Pythonban?
- Felhasználó által definiált és lambda függvények használata:
- A map () segítségével szűrje () és csökkentse () függvényeket egymás mellett
Kezdjük tehát. :)
Mi a map (), a filter () és a reduc () függvény a Pythonban?
Mint korábban említettük, a map (), a filter () és a reduc () beépítettek a Python. Ezek a funkciók lehetővé teszik a . A funkcionális programozásban csak az átadott argumentumok döntenek a kimenetről. Ezek a funkciók bármely más funkciót paraméterként vehetnek fel, és paraméterként más funkciókhoz is továbbadhatók. Vizsgáljuk meg tehát mélyebben ezeket a funkciókat.
A map () függvény:
A map () függvény egy magasabb rendű típus. Mint korábban említettük, ez a függvény egy másik függvényt vesz fel paraméterként az iterable szekvenciákkal együtt, és kimenetet ad vissza, miután a függvényt alkalmazta a szekvenciában lévő minden iterálhatóra. Szintaxisa a következő:
SZINTAXIS:
térkép (függvény, iterable)
Itt a függvény meghatároz egy kifejezést, amelyet viszont az iterable-ekre alkalmaznak. A térképfunkció felhasználhatja a felhasználó által definiált funkciókat is lambda funkciók paraméterként.
Felhasználó által definiált és Lambda funkciók használata:
Felhasználó által definiált függvények a térképen ():
A map () függvény a felhasználó által definiált függvényeket veheti figyelembe paraméterként. Ezeknek a funkcióknak a paramétereit kizárólag a felhasználó vagy a programozó állítja be. Például:
PÉLDA:
def newfunc (a): adjon vissza a * a x = map (newfunc, (1,2,3,4)) #x a térképobjektum print (x) print (set (x))
KIMENET:
{16, 1, 4, 9}
Amint láthatja, az x térképobjektum. A következő rész kimenete megjeleníti a térképfüggvényt, amely az newfunc () paramétert veszi fel, majd az a * a-t alkalmazza az összes iterable-re. Ennek eredményeként az összes iterable értékét megszorozzák maguk és visszaadják.
JEGYZET: A kimenet nem az iterable értékeinek sorrendjében van, mert a set () függvényt használtam. Használhatja például a lista () vagy a tuple () függvényeket is:
PÉLDA:
def newfunc (a): adjon vissza a * a x = map (newfunc, (1,2,3,4)) #x a térképobjektum nyomtatása (x) print (lista (x))
KIMENET:
[1, 4, 9, 16]
Több paraméterlistát is átadhat. Például:
PÉLDA:
def func (a, b): adja vissza a + b a = térkép (func, [2, 4, 5], [1,2,3]) print (a) print (duplán (a))
KIMENET:
(3, 6, 8)
Most nézzük meg, hogyan használhatja lambda funkciók a map () függvényen belül.
A Lambda funkciók a térképen () belül:
A Lambda függvények bármilyen névvel rendelkeznek. Ezeket a funkciókat gyakran paraméterként szállítják más funkciókhoz. Most próbáljuk meg beágyazni a lambda függvényeket a map () függvénybe. Tekintsük a következő példát:
PÉLDA:
tup = (5, 7, 22, 97, 54, 62, 77, 23, 73, 61) newtuple = tuple (térkép (lambda x: x + 3, tup)) print (newtuple)
KIMENET:
(8, 10, 25, 100, 57, 65, 80, 26, 76, 64)
A fenti kimenet annak az eredménye, hogy a lambda kifejezést (x + 3) alkalmazzuk a duplán lévő minden elemre.
A filter () függvény:
A filter () függvény felhasználásával létrehoz egy kimeneti listát, amely értékekből áll, amelyekre a függvény igaz. Szintaxisa a következő:
SZINTAXIS:
szűrő (függvény, iterable)
Csakúgy, mint a map (), ez a funkció is felhasználhatja a felhasználó által definiált függvényeket, valamint a lambda funkciókat is paraméterként.
PÉLDA:
def func (x): ha x> = 3: visszatér x y = szűrő (func, (1,2,3,4)) print (y) print (lista (y))
KIMENET:
[3. 4]
Amint láthatja, y a szűrőobjektum, a lista pedig a feltételre igaz értékek listája (x> = 3).
A lambda használata a szűrőben ():
A paraméterként használt lambda függvény tulajdonképpen meghatározza az ellenőrizendő feltételt. Például:
PÉLDA:
y = szűrő (lambda x: (x> = 3), (1,2,3,4)) nyomtatás (lista (y))
KIMENET: [3. 4]
A fenti kód ugyanazt a kimenetet produkálja, mint az előző függvény.
objektum tömb létrehozása Java-ban
A reduc () függvény:
A reduc () függvény, amint a neve is leírja, egy adott függvényt alkalmaz az iterable-re és egyetlen értéket ad vissza.
A függvény szintaxisa a következő:
SZINTAXIS:
redukció (függvény, iterable)
A függvény itt határozza meg, hogy milyen kifejezést kell alkalmazni az iterable-ekre. Ezt a funkciót a functoolokból kell importálni modul . Például:
PÉLDA:
a functools-ból import csökkentés csökkentés (lambda a, b: a + b, [23,21,45,98])
KIMENET: 187
A fenti példában a reduc függvény egymás után felveszi a listában szereplő összes iterálhatót, és egyetlen kimenetet ad vissza.
A Python térkép (), filter () és reduc () függvényei együtt használhatók.
A map (), a filter () és a reduc () függvények egymás mellett:
Amikor ezt megteszi, először a belső funkciókat oldják meg, majd a külső funkciók a belső funkciók kimenetén működnek.
Először próbáljuk meg átadni a filter () függvényt paraméterként a map () függvénynek.
A szűrő () használata a térképen () belül:
Az alább megadott kód először ellenőrzi, hogy a feltétel (x> = 3) igaz-e az iterable-ekre. Ezután a kimenetet a map () függvény segítségével térképezzük fel.
PÉLDA:
c = térkép (lambda x: x + x, szűrő (lambda x: (x> = 3), (1,2,3,4))) nyomtatás (c) lista)
KIMENET: [6, 8]
Ha kiszűri az adott duplából 3-nál nagyobb vagy azzal egyenlő egész számokat, akkor eredményül [3,4] -et kap. Majd ha ezt feltérképezi az (x + x) feltétel használatával, akkor megkapja a [6,8] értéket, amely a kimenet.
Map () használata a szűrőn () belül:
Ha a map () függvényt használja a filter () függvényen belül, akkor az iterable-eket először a map függvény működteti, majd a filter () feltétel alkalmazza őket.
PÉLDA:
c = szűrő (lambda x: (x> = 3), térkép (lambda x: x + x, (1,2,3,4)) #lambda x: (x> = 3) print (lista (c) )
KIMENET: [4, 6, 8]
Térkép () és szűrő () használata a redukción () belül:
A belső funkciók kimenete a csökkentés () függvényhez biztosított állapotnak megfelelően csökken.
PÉLDA:
d = kicsinyítés (lambda x, y: x + y, térkép (lambda x: x + x, szűrő (lambda x: (x> = 3), (1,2,3,4)))) nyomtatás (d)
KIMENET: 14
A kimenet a [6,8] eredménye, amely a belső térkép () és a szűrő () függvények eredménye.
Ezzel elértük a cikk végét a map (), filter () és a Python függvényeinek csökkentésében. Remélem, mindent tisztán megértett. Győződjön meg arról, hogy a lehető legtöbbet gyakorolja, és állítsa vissza a tapasztalatait.
Van egy kérdésünk? Kérjük, említse meg ennek a „térkép (), szűrő () és redukciós () függvények a Pythonban” blog megjegyzéseinek szakaszában, és amint lehetséges, kapcsolatba lépünk Önnel.
Ha részletes ismereteket szeretne szerezni a Pythonról és annak különböző alkalmazásokról, regisztrálhat élőben 24/7 támogatással és élethosszig tartó hozzáféréssel.