Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Bemästra Map-funktionen | Högre ordningens funktioner och lambdas
Funktionella Programmeringskoncept i Python
Avsnitt 2. Kapitel 2
single

single

bookBemä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.

123456
def square(x): return x * x numbers = [1, 2, 3, 4, 5] squared_numbers = list(map(square, numbers)) print(squared_numbers)
copy

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.

Uppgift

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

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 2
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

some-alt