Lambda-Funksjoner
Sveip for å vise menyen
Lambda-funksjoner er en kjernefunksjon i Python som lar deg lage små, anonyme funksjoner med en kortfattet syntaks. Hovedformålet med en lambda-funksjon er å definere en funksjon på én linje, vanligvis for korte, engangsbruk der en full funksjonsdefinisjon med def ville vært unødvendig omstendelig.
Lambda-funksjoner brukes oftest i kombinasjon med høyereordens funksjoner som map, filter og sorted, der du må sende en funksjon som argument, men ikke ønsker å definere en full funksjon andre steder i koden din.
En lambda-funksjon kan ta et vilkårlig antall argumenter, men må kun inneholde ett enkelt uttrykk. Resultatet av dette uttrykket returneres automatisk. Selv om lambda-funksjoner er nyttige for å lage raske, midlertidige funksjoner, har de begrensninger: de kan ikke inneholde flere setninger, tildelinger eller kompleks logikk, og de blir mindre lesbare hvis de brukes for mye. På grunn av disse begrensningene bør lambda-funksjoner brukes til enkle oppgaver, og vanlige funksjoner foretrekkes for mer komplekse operasjoner.
123numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
Koden ovenfor bruker en lambda-funksjon sammen med den høyereordens funksjonen map for å kvadrere hvert tall i listen numbers. lambda x: x ** 2 definerer en anonym funksjon som tar ett argument x og returnerer kvadratet av det. Denne tilnærmingen gjør det mulig å raskt utføre en enkel operasjon på hvert element i en liste uten å definere en egen navngitt funksjon, noe som gjør koden mer konsis og fokusert når funksjonen kun trengs én gang.
123numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
Dette eksempelet bruker en lambda-funksjon sammen med filter for å hente ut kun de partallene fra listen numbers. Ved å bruke en lambda-funksjon her blir filtreringslogikken kortfattet og lettlest, spesielt når du bare trenger å utføre en enkel sjekk uten å lage en egen navngitt funksjon.
1. Hva er hovedforskjellen mellom en lambda-funksjon og en vanlig funksjon?
2. Når bør du bruke en lambda-funksjon i stedet for def?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår