Python Lambda List Forståelse

Python er et generelt programmeringsspråk for web og desktop utvikling. En av Python fundamentale datatyper er List datatype, som representerer en samling av ulike verdier under samme variabelnavn. Python introduserer også det de kaller "-liste oppfattelser" som definerer lister fra allerede eksisterende lister. Ved hjelp av Python er lambda funksjoner og innebygd støtte for liste oppfattelser, programmerere kan bygge spesielle lister samlet fra samlinger av allerede eksisterende data.

List oppfattelser

På et grunnleggende nivå, Python listene er samlinger av data. Men gjør Python liste slike fundemental datatyper som kan operasjoner og funksjoner eksisterer som fungerer utelukkende på listene. En av disse operasjonene er listen forståelse, der en programmerer kan lage en liste gjennom utvalg fra en annen liste. I dette eksempel danner en programmerer en liste ( "L2") ved å multiplisere alle elementene fra listen en ( "l1"):

l1 = [1, 2, 3]

l2 = [2 * x for x i L1]

l2

[2, 4, 6]

Listen oppfattelser og funksjoner

Programmerere kan også bruke funksjoner som elementer i en liste forståelse. Disse funksjonene kan fungere som normale funksjoner: Det spiller ingen rolle hvor komplekse de er, så lenge de kommer tilbake en passende resultat). Forutsatt at funksjonen "triple ()" tar et heltall og returnerer det heltall som heltall ganget med tre, dette eksempelet viser hvordan en programmerer kan bruke en funksjon i en liste forståelse fra listen "li":

li = [5, 6, 7]

[Trippel (x) for x i li]

[15, 18, 21]

Python Lambda funksjoner

Python programmerere kan bygge funksjoner på flere måter. En måte som skiller seg fra tradisjonell funksjon definisjon er en lambda funksjon - tilkjennegitt med "lambda" søkeord. Lambda søkeord begynner definisjonen av en liten, anonym, inline funksjon som kan returnere resultatene fra et beregningsoperasjon. Følgende eksempel viser hvordan å tildele en lambda funksjon i en variabel:

f = lambda x: x + 2

f (2)

4

Kart og lambdaene

En liste forståelse etterligner funksjonaliteten til en annen konfigurasjon av funksjonalitet. Nemlig de "kart ()" -funksjon tilordner en funksjon over en liste, mye på samme måte som en liste forståelse gjør. Kartet funksjonen tar to argumenter: en funksjon - ofte en lambda - og en liste. Det følgende kart eksempel etterfølges av en tilsvarende liste forståelse eksempel:

example_list = [1, 2, 3]

kartet (lambda x: x + 3, example_list)

[4, 5, 6]

[X + 3 for x i example_list]

[4, 5, 6]