List, Set, Dictionary Comprehensions i Python
Låt oss lära oss mer om list, dictionary, set comprehensions i Python.
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 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:
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():
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():
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:
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.
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:
Om uttrycket är en tupel och om det inte är inneslutet inom parentes, kommer det att ge upphov till SyntaxError.
Exempel 2: Användning av zip()-funktionen 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.
Exempel 2: Kalla upper() metoden på varje element i listan.
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)).