List, Set, Dictionary Comprehensions i Python

Foto av Kara Eads på Unsplash

Förståelser i Python:

Förståelsen består av ett enda uttryck följt av minst en for-klausul och noll eller fler for– eller if-klausuler.

Det finns tre förståelser i Python.

Typer av förståelser i Python(Bildkälla: Författaren)

Listförståelser:

Listförståelser ger ett koncist sätt att skapa listor. Vanliga tillämpningar är att skapa nya listor där varje element är resultatet av vissa operationer som tillämpas på varje medlem i en annan sekvens eller iterabel eller att skapa en undersekvens av de element som uppfyller ett visst villkor. – python docs

Syntax:

Uttrycket kan vara ett godtyckligt uttryck, komplexa uttryck, tupel, nästlade funktioner eller en annan listförståelse.

Detta motsvarar

for item in iterable:
if conditional:
expression

Returtyp:

List

Användning av listförståelse:

En listförståelse består av parenteser som innehåller ett uttryck följt av en for-klausul och därefter noll eller flera for– eller if-klausuler. Resultatet blir en ny lista som är resultatet av att uttrycket utvärderas i samband med de for och if klausuler som följer efter det.

Listförståelse förklarad(Bildkälla: Författaren)

Listförståelse vs. for loop.

Med hjälp av List Comprehension blir det mer kortfattat och läsbart jämfört med for loop.

Finnande av kvadrat på tal med hjälp av List Comprehension vs for loop:

for loop vs List comprehension

List comprehension vs filter.

Returnerar en iterator från de element i iterable som funktionen returnerar true för. iterable kan vara antingen en sekvens, en behållare som stöder iteration eller en iterator

Finnande av jämna tal med hjälp av List Comprehension vs filter():

List Comprehension vs filter()

3.List Comprehension vs map.

map:

Returnerar en iterator som tillämpar en funktion på varje element i iterable, och ger resultatet.

Finnande av kvadrater av tal med List Comprehension vs map():

List Comprehension vs map()

Skuggade slingor i List Comprehension.

List Comprehension kan innehålla en eller flera for-klausuler.

Exempel 1: Förstå en lista med hjälp av List Comprehension med två for-klausuler:

Förstå en lista med hjälp av List Comprehension

5.Flera if-villkor i List Comprehension.

List Comprehension kan innehålla noll eller flera if-klausuler.

Exempel: En lista med flera if-klausuler kan innehålla noll eller fler if-klausuler.

Exempel: Exempel: Att hitta tal som är delbara med 2 och 3.

Listförståelse med två if-klausuler

Uttrycket kan vara en tupel i listförståelse.

Vi kan nämna uttrycket som en tupel i en listförståelse. Det ska skrivas inom parentes. Annars kommer det att ge upphov till Error. Resultatet blir en lista med tupler.

Exempel 1: Skapa en lista med tupler med hjälp av List Comprehension med två ”for”-klausuler:

Lista med tupler

Om uttrycket är en tupel och om det inte är inneslutet inom parentes, kommer det att ge upphov till SyntaxError.

Uttrycket ska vara omslutet av parenteser om det är en tupel.

Exempel 2: Användning av zip()-funktionen i listförståelse:

zip() i listförståelse

Listförståelse kan användas för att anropa en metod på varje element.

Exempel 1: Anrop av metoden strip() på varje element i listan. Den används för att ta bort de vita mellanslagarna.

Kalla strip() metoden på varje element

Exempel 2: Kalla upper() metoden på varje element i listan.

Kalla upper() metoden på varje element

Listförståelse kan innehålla komplexa uttryck och inbäddade funktioner.

Exempel 1: I nedanstående exempel använder vi i uttrycket strip-metoden och int-funktionen.

Exempel 2: I nedanstående exempel använder vi i uttrycket abs() och str()-funktionen.

Nested List Comprehension.

Uttrycket i en listförståelse kan innehålla en annan listförståelse också.

Exempel: Exempel: Den första listförståelsen som ges som uttryck returnerar en lista med jämna tal från 0 till 10. En inbäddad listförståelse returnerar uttrycket (lista med jämna tal från 0 till 10) tre gånger(range(3)).

Inbäddad listförståelse

Lämna ett svar

Din e-postadress kommer inte publiceras.