Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Beherskelse af Map-funktionen | Højereordensfunktioner og Lambdas
Funktionelle Programmeringskoncepter i Python
Sektion 2. Kapitel 2
single

single

bookBeherskelse af Map-funktionen

Stryg for at vise menuen

map-funktionen i Python

Den indbyggede map-funktion er et klassisk eksempel på en højere-ordens funktion. Den tager to argumenter: en funktion og et itererbart objekt (såsom en liste). map anvender den angivne funktion på hvert element i det itererbare objekt og returnerer et map-objekt, som er en iterator. Du kan konvertere dette objekt til en liste for at se resultaterne. Denne tilgang er nyttig til effektiv datatransformation uden at skrive eksplicitte løkker.

Du kan bruge map med en navngiven funktion som double til at behandle en liste af tal: map(double, [1, 2, 3, 4]) returnerer et map-objekt, der indeholder de fordoblede værdier. Ved at konvertere resultatet til en liste får du [2, 4, 6, 8]. Dette demonstrerer, hvordan map fungerer som en højere-ordens funktion ved at tage en anden funktion som argument og anvende den på hvert element i det itererbare objekt.

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

I dette eksempel anvendes funktionen square på hvert element i listen numbers. Resultatet er en ny liste, der indeholder kvadraterne af de oprindelige tal. Bemærk, at det ikke var nødvendigt at skrive en løkke — map-funktionen håndterede iterationen for dig.

Du kan også bruge map med indbyggede funktioner eller endda med anonyme funktioner (lambdas), som vil blive gennemgået i de kommende kapitler. For nu skal du fokusere på, hvordan det at give en funktion som argument muliggør fleksible og genanvendelige kodetransformationer.

Opgave

Swipe to start coding

Skriv en funktion, der tager en funktion og en liste som argumenter, og returnerer en ny liste med funktionen anvendt på hvert element.

  • Funktionen skal anvende den angivne funktion på hvert element i den angivne liste.
  • Funktionen skal returnere en ny liste, der indeholder resultaterne.
  • Husk at fjerne pass.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 2
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt