single
Beherskelse 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.
123456def square(x): return x * x numbers = [1, 2, 3, 4, 5] squared_numbers = list(map(square, numbers)) print(squared_numbers)
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.
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
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat