single
Bemästra Map-funktionen
Svep för att visa menyn
Funktionen map i Python
Den inbyggda map-funktionen är ett klassiskt exempel på en högre ordningens funktion. Den tar två argument: en funktion och en itererbar (till exempel en lista). map applicerar den angivna funktionen på varje element i den itererbara och returnerar ett map-objekt, vilket är en iterator. Du kan konvertera detta objekt till en lista för att se resultaten. Detta tillvägagångssätt är användbart för att effektivt transformera data utan att skriva explicita loopar.
Du kan använda map med en namngiven funktion som double för att bearbeta en lista med tal: map(double, [1, 2, 3, 4]) returnerar ett map-objekt som innehåller de dubblerade värdena. Genom att konvertera resultatet till en lista får du [2, 4, 6, 8]. Detta visar hur map fungerar som en högre ordningens funktion genom att ta en annan funktion som argument och applicera den på varje element i den itererbara.
123456def square(x): return x * x numbers = [1, 2, 3, 4, 5] squared_numbers = list(map(square, numbers)) print(squared_numbers)
I detta exempel appliceras funktionen square på varje element i listan numbers. Resultatet är en ny lista som innehåller kvadraterna av de ursprungliga talen. Observera att du inte behövde skriva en loop — funktionen map hanterade iterationen åt dig.
Du kan också använda map med inbyggda funktioner eller till och med med anonyma funktioner (lambdas), vilket kommer att behandlas i kommande kapitel. Fokusera för närvarande på hur det går att skicka en funktion som argument för att möjliggöra flexibla och återanvändbara kodtransformationer.
Svep för att börja koda
Skriv en funktion som tar en funktion och en lista, och returnerar en ny lista med funktionen applicerad på varje element.
- Funktionen ska applicera den angivna funktionen på varje objekt i den angivna listan.
- Funktionen ska returnera en ny lista som innehåller resultaten.
- Glöm inte att ta bort
pass.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal