⊗pyPmFnMa 17 of 129 menu

Funktionen map för att iterera över objekt i Python

Antag att vi har en funktion square för att upphöja tal i kvadrat. Och det finns en lista, vars element vi behöver applicera denna funktion på:

def square(num): return num ** 2 lst = [2, 3, 6, 8, 15]

I Python för att lösa denna uppgift kan man använda en speciell funktion map. Den tar som parametrar en funktion och en lista, vars element den ska appliceras på. Låt oss använda map för att lösa exemplet:

res = map(square, lst) print(res)

Varje lista, liksom alla komplexa objekt, tar upp mycket plats i Pythons systemminne. Därför, för att spara resurser, returneras det efter kodkörningen inte en ny lista, utan ett speciellt itererbart map-objekt:

<map object at 0x000001F16674BA00>

Låt oss iterera över det med en loop:

for el in res: print(el)

Som ett resultat kommer alla element i den nya listan att skrivas ut:

4 9 36 64 225

För att skapa en ny lista från map-objektet behöver man applicera funktionen list på det:

lst = [2, 3, 6, 8, 15] res = map(square, lst)

Som ett resultat kommer följande lista att skrivas ut:

[4, 9, 36, 64, 225]

Även när man arbetar med funktionen map kan man i den första parametern ange en lambda-funktion. Låt oss skriva om föregående exempel med hjälp av en lambda-funktion:

res = map(lambda num: num ** 2, lst, lst) print(list(res))

Skriv om följande kod med en lambda-funktion:

def func(num): return num + 1 lst = [1, 2, 3, 4, 5] res = map(func, lst) print(list(res))

Skriv om följande kod med en lambda-funktion:

def func(txt): return txt[::-1] lst = ['123', '456', '789'] res = map(func, lst) print(list(res))
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa