Liste-, sæt- og ordbogsforståelser i Python
Lad os lære om liste-, ordbogs- og sætforståelser i python.

Forståelser i Python:
Forståelsen består af et enkelt udtryk efterfulgt af mindst én for
-klausul og nul eller flere for
– eller if
-klausuler.
Der findes tre comprehensions i Python.

Listeforståelser:
Listeforståelser giver en kortfattet måde at oprette lister på. Almindelige anvendelser er at lave nye lister, hvor hvert element er resultatet af nogle operationer, der er anvendt på hvert medlem af en anden sekvens eller iterabel, eller at oprette en undersekvens af de elementer, der opfylder en bestemt betingelse. – python docs
Syntaks:
Udtrykket kan være et vilkårligt udtryk, komplekse udtryk, tupler, nested functions eller en anden list comprehension.
Dette svarer til
for item in iterable:
if conditional:
expression
Returneringstype:
List
Anvendelse af listeforståelse:
En listeforståelse består af parenteser, der indeholder et udtryk efterfulgt af en
for
-klausul, derefter nul eller flere for
– eller if
-klausuler. Resultatet vil være en ny liste, der er resultatet af evalueringen af udtrykket i forbindelse med de for
og if
klausuler, der følger efter det.

Listeforståelse vs. for loop.
Med List Comprehension er det mere kortfattet og læsbart sammenlignet med for loop.
Finding square of numbers using List Comprehension vs for loop:
List comprehension vs filter.
Returnerer en iterator fra de elementer i iterable, for hvilke funktionen returnerer sandt. iterable kan enten være en sekvens, en container, der understøtter iteration, eller en iterator
Finding Even Numbers Using List Comprehension vs filter():
3.List Comprehension vs map.
map:
Returnerer en iterator, der anvender en funktion på hvert element i iterable, hvilket giver resultaterne.
Finding square of numbers using List Comprehension vs map():
Nested loops in List Comprehension.
List Comprehension kan indeholde en eller flere for-klausuler.
Eksempel 1: En liste med to “for”-klausuler kan udglatte en liste ved hjælp af List Comprehension:
5.Flere hvis-bestemmelser i List Comprehension.
List Comprehension kan indeholde nul eller flere hvis-bestemmelser.
Eksempel: En liste kan indeholde nul eller flere hvis-bestemmelser.
Eksempel: En liste med to “for”-klausuler kan udglatte en liste ved hjælp af List Comprehension:
Udtrykket kan være en tupel i listeforståelse.
Vi kan nævne udtrykket som en tupel i en listeforståelse. Det skal skrives inden for parenteser. Ellers vil det give anledning til Fejl. Resultatet vil være en liste af tupler.
Eksempel 1: Oprettelse af en liste af tupler ved hjælp af List Comprehension med to ‘for’-klausuler:
Hvis udtrykket er en tupel, og hvis det ikke er omsluttet af parenteser, vil det give anledning til SyntaxError.
Eksempel 2: Brug af zip()-funktionen i List Comprehension:
List Comprehension kan bruges til at kalde en metode på hvert element.
Eksempel 1: Kald af strip()-metoden på hvert element i listen. Den bruges til at fjerne de hvide mellemrum.
Eksempel 2: Kaldelse af upper()-metoden på hvert element i listen.
Listforståelse kan indeholde komplekse udtryk og indlejrede funktioner.
Eksempel 1: I nedenstående eksempel bruger vi i udtrykket strip-metoden og int-funktionen.
Eksempel 2: I nedenstående eksempel bruger vi i udtrykket abs() og str()-funktionen.
Nested List Comprehension.
Udtrykket i en list comprehension kan også indeholde en anden list comprehension.
Eksempel: Det første listeforståelse, der er angivet som udtryk, returnerer en liste med lige tal fra 0 til 10. En indlejret listeforståelse vil returnere dette udtryk (liste over lige tal fra 0 til 10) tre gange(range(3)).