Mapa, Salain at Bawasan ang Mga Pag-andar sa Python: Ang kailangan mo lang malaman

Alamin kung ano ang mga mapa (), filter () at bawasan ang () mga pagpapaandar sa Python. Alamin din kung paano gamitin ang mga ito sa lambda at mga function na tinukoy ng gumagamit at kasama ang bawat isa.

Nagbibigay ang Python ng maraming mga built-in na pag-andar na paunang natukoy at maaaring magamit ng end-user sa pamamagitan lamang ng pagtawag sa kanila. Ang mga pagpapaandar na ito ay hindi lamang pinadali ang gawain ng mga programmer ngunit lumikha din ng isang pamantayan sa pag-coding na kapaligiran. Sa artikulong ito, matututunan mo ang tungkol sa tatlong mga kahanga-hangang pag-andar katulad ng mapa (), filter at bawasan () sa .

Bago magpatuloy, tingnan natin ang mga nilalaman:



Kaya't magsimula tayo. :)

Ano ang mga mapa (), filter () at bawasan () ang mga pagpapaandar sa Python?

Tulad ng nabanggit kanina, mapa (), filter () at bawasan () ay inbuilt ng sawa. Ang mga pagpapaandar na ito ay nagbibigay-daan sa pagganap na aspeto ng pag-andar ng . Sa pag-andar ng programa, ang mga argumentong naipasa ay ang tanging mga kadahilanan na nagpapasya sa output. Ang mga pagpapaandar na ito ay maaaring tumagal ng anumang iba pang pagpapaandar bilang isang parameter at maaaring ibigay sa iba pang mga pag-andar bilang mga parameter din. Kaya't tingnan natin ngayon ang isang mas malalim na pagtingin sa bawat isa sa mga pagpapaandar na ito.

Ang pagpapaandar ng mapa ():

Ang pagpapaandar ng mapa () ay isang uri ng mas mataas na pagkakasunud-sunod. Tulad ng nabanggit kanina, ang pagpapaandar na ito ay tumatagal ng isa pang pag-andar bilang isang parameter kasama ang isang pagkakasunud-sunod ng mga iterable at nagbabalik ng isang output pagkatapos ilapat ang pagpapaandar sa bawat umuulit na naroroon sa pagkakasunud-sunod. Ang syntax nito ay ang mga sumusunod:

SINTAX:

mapa (pagpapaandar, iterable)

Dito, tinutukoy ng pagpapaandar ang isang expression na inilalagay naman sa mga iterable. Ang pagpapaandar ng mapa ay maaaring tumagal ng mga pagpapaandar na tinukoy ng gumagamit pati na rin pagpapaandar ng lambda bilang isang parameter.

Paggamit ng tinukoy ng gumagamit at Mga Lambda Function sa loob ng:

Mga pagpapaandar na tinukoy ng gumagamit sa loob ng mapa ():

Ang pagpapaandar na mapa () ay maaaring tumagal ng mga pagpapaandar na tinukoy ng gumagamit bilang mga parameter. Ang mga parameter ng mga pagpapaandar na ito ay eksklusibong itinakda ng gumagamit o ng programmer. Halimbawa:

HALIMBAWA:

def newfunc (a): ibalik ang isang * a x = mapa (newfunc, (1,2,3,4)) #x ay ang map object print (x) print (set (x))

OUTPUT:

{16, 1, 4, 9}

Tulad ng nakikita mo, ang x ay isang object ng mapa. Ang susunod na output output ay ipinapakita ang pagpapaandar ng mapa na kumukuha ng newfunc () bilang parameter nito at pagkatapos ay inilalapat nito ang a * a sa lahat ng mga iterable. Bilang isang resulta, ang mga halaga ng lahat ng mga iterable ay pinarami ng kanilang sarili at ibinalik.

TANDAAN: Ang output ay hindi sa pagkakasunud-sunod ng mga halaga ng iterable dahil ginamit ko ang set () na pagpapaandar. Maaari mo ring gamitin ang mga pagpapaandar ng listahan () o tuple () halimbawa:

HALIMBAWA:

def newfunc (a): ibalik ang isang * a x = mapa (newfunc, (1,2,3,4)) #x ay ang map object print (x) print (list (x))

OUTPUT:

[1, 4, 9, 16]

Maaari kang pumasa sa higit sa isang listahan ng mga parameter din. Halimbawa:

__sa loob__

HALIMBAWA:

def func (a, b): ibalik ang isang + b a = mapa (func, [2, 4, 5], [1,2,3]) print (a) print (tuple (a))

OUTPUT:

(3, 6, 8)

Ngayon ipaalam sa amin makita kung paano mo magagamit pagpapaandar ng lambda sa loob ng pag-andar ng mapa ().

Gumagana ang Lambda sa loob ng mapa ():

Ang pag-andar ng Lambda ay mga pagpapaandar na mayroong anumang pangalan. Ang mga pagpapaandar na ito ay madalas na ibinibigay bilang mga parameter sa iba pang mga pagpapaandar. Ngayon subukan nating i-embed ang mga pagpapaandar ng lambda sa loob ng pagpapaandar ng mapa (). Isaalang-alang ang sumusunod na halimbawa:

HALIMBAWA:

tup = (5, 7, 22, 97, 54, 62, 77, 23, 73, 61) newtuple = tuple (mapa (lambda x: x + 3, tup)) print (newtuple)

OUTPUT:

(8, 10, 25, 100, 57, 65, 80, 26, 76, 64)

Ang output sa itaas ay isang resulta ng paglalapat ng lambda expression (x + 3) sa bawat item na naroroon sa tuple.

Pag-andar ng filter ():

Ginagamit ang pagpapaandar ng filter () upang lumikha ng isang listahan ng output na binubuo ng mga halaga kung saan ang function ay nagbabalik totoo. Ang syntax nito ay ang mga sumusunod:

SINTAX:

filter (pagpapaandar, iterable)

Tulad ng mapa (), maaaring magamit ang pagpapaandar na ito ay maaari ding kumuha ng mga pagpapaandar na tinukoy ng gumagamit pati na rin ang mga pagpapaandar ng lambda bilang isang parameter.

HALIMBAWA:

def func (x): kung x> = 3: return x y = filter (func, (1,2,3,4)) print (y) print (list (y))

OUTPUT:

[3. 4]

Tulad ng nakikita mo, ang object ng filter at ang listahan ay isang listahan ng mga halagang totoo para sa kundisyon (x> = 3).

kung paano ayusin ang isang array sa c ++

Paggamit ng lambda sa loob ng filter ():


Ang pag-andar ng lambda na ginagamit bilang isang parameter ay talagang tumutukoy sa kundisyon na dapat suriin. Halimbawa:

HALIMBAWA:

y = filter (lambda x: (x> = 3), (1,2,3,4)) print (list (y))

OUTPUT: [3. 4]

Ang code sa itaas ay gumagawa ng parehong output tulad ng nakaraang pag-andar.

Ang pagbawas () na pagpapaandar:

Ang pagbawas () na pagpapaandar, tulad ng inilalarawan ng pangalan, ay naglalapat ng isang naibigay na pagpapaandar sa mga iterable at nagbabalik ng isang solong halaga.

bawasan-mapa bawasan ang filter-edureka

Ang syntax ng pagpapaandar na ito ay ang mga sumusunod:

SINTAX:

bawasan (pagpapaandar, iterable)

Tinutukoy ng pagpapaandar dito kung anong ekspresyon ang kailangang ilapat sa mga iterable. Ang pagpapaandar na ito ay kailangang mai-import mula sa mga functool modyul . Halimbawa:

HALIMBAWA:

mula sa functools import bawasan mabawasan (lambda a, b: a + b, [23,21,45,98])

OUTPUT: 187

Sa halimbawa sa itaas, ang pagbawas ng pag-andar nang magkakasunod na nagdaragdag ng bawat umuulit na naroroon sa listahan at nagbabalik ng isang solong output.

Ang mapa (), filter () at bawasan () ang mga pagpapaandar sa Python ay maaaring magamit kasama ng bawat isa.

Paggamit ng mapa (), pagsala () at bawasan ang () mga pagpapaandar kasama ang bawat isa:

Kapag ginawa mo ito, ang mga panloob na pag-andar ay unang malulutas at pagkatapos ang mga panlabas na pag-andar ay nagpapatakbo sa output ng mga panloob na pag-andar.

Subukan muna nating ipasa ang pag-andar ng filter () bilang isang parameter sa pagpapaandar ng mapa ().

Paggamit ng filter () sa loob ng mapa ():

Ang code na ibinigay sa ibaba ay unang sumusuri para sa kundisyon (x> = 3) na totoo para sa mga iterable. Pagkatapos, ang output ay nai-map gamit ang mapa () function.

HALIMBAWA:

c = mapa (lambda x: x + x, filter (lambda x: (x> = 3), (1,2,3,4))) print (list (c))

OUTPUT: [6, 8]

Kung sinala mo ang mga integer na mas malaki sa o katumbas ng 3 mula sa ibinigay na tuple, makakakuha ka ng [3,4] bilang resulta. Pagkatapos kung i-map mo ito gamit ang (x + x) kondisyon, makakakuha ka ng [6,8], na ang output.

Paggamit ng mapa () sa loob ng filter ():


Kapag ginamit mo ang pagpapaandar na mapa () sa loob ng filter () na pag-andar, ang mga iterable ay unang pinapatakbo ng pagpapaandar ng mapa at pagkatapos ang kalagayan ng filter () ay inilalapat sa kanila.

HALIMBAWA:

c = filter (lambda x: (x> = 3), mapa (lambda x: x + x, (1,2,3,4))) #lambda x: (x> = 3) print (list (c) )

OUTPUT: [4, 6, 8]

Paggamit ng mapa () at filter () sa loob ng mabawasan ():

Ang output ng mga panloob na pag-andar ay nabawasan ayon sa kundisyon na ibinibigay sa pagbawas () na pagpapaandar.

HALIMBAWA:

d = bawasan (lambda x, y: x + y, mapa (lambda x: x + x, filter (lambda x: (x> = 3), (1,2,3,4)))) print (d)

OUTPUT: 14

kung paano gamitin ang klase ng scanner sa java

Ang output ay isang resulta ng [6,8] na kung saan ay ang resulta ng mga panloob na mapa () at pag-filter () function.

Sa pamamagitan nito, naabot namin ang dulo ng artikulong ito sa mapa (), filter () at bawasan ang mga pagpapaandar sa Python. Sana naiintindihan mo nang malinaw ang lahat. Tiyaking nagsasanay ka hangga't maaari at ibalik ang iyong karanasan.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng 'mapa (), filter () at bawasan ang () Mga pagpapaandar sa Python' na blog at babalikan ka namin sa lalong madaling panahon.

Upang makakuha ng malalim na kaalaman sa Python kasama ang iba't ibang mga application nito, maaari kang magpatala nang live na may 24/7 na suporta at habambuhay na pag-access.