⊗pyPmFnMa 17 of 129 menu

Funktionen map til iteration af objekter i Python

Lad os sige, at vi har en funktion square til at opløfte tal i anden potens. Og der er en liste, hvis elementer funktionen skal anvendes på:

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

I Python for at løse denne opgave kan man bruge en speciel funktion map. Den tager en funktion og en liste som parametre, som funktionen skal anvendes på elementerne af. Lad os bruge map til at løse eksemplet:

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

Hver liste, som ethvert komplekst objekt, optager meget plads i Pythons systemhukommelse. Derfor, for at spare ressourcer, returneres der ikke en ny liste efter udførelse af koden, men et specielt itererbart map-objekt:

<map object at 0x000001F16674BA00>

Lad os iterere gennem det med en løkke:

for el in res: print(el)

Som resultat vil alle elementerne i den nye liste blive vist:

4 9 36 64 225

For at oprette en ny liste fra map-objektet skal man anvende funktionen list på det:

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

Som resultat vil følgende liste blive vist:

[4, 9, 36, 64, 225]

Også når man arbejder med funktionen map kan man angive en lambda-funktion i den første parameter. Lad os omskrive det forrige eksempel ved hjælp af en lambda-funktion:

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

Omskriv følgende kode med en lambda-funktion:

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

Omskriv følgende kode med en lambda-funktion:

def func(txt): return txt[::-1] lst = ['123', '456', '789'] res = map(func, lst) print(list(res))
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis