List, Set, Dictionary Comprehensions in Python
Laten we eens leren over de list, dictionary, set comprehensions in python.
Comprehensions in Python:
De comprehension bestaat uit een enkele expressie gevolgd door ten minste één for
-clausule en nul of meer for
– of if
-clausules.
Er zijn drie comprehensies in Python.
List Comprehensions:
List comprehensions bieden een beknopte manier om lijsten te maken. Veelgebruikte toepassingen zijn het maken van nieuwe lijsten waarbij elk element het resultaat is van bepaalde bewerkingen die zijn toegepast op elk lid van een andere sequentie of iterable of het maken van een subsequentie van die elementen die aan een bepaalde voorwaarde voldoen. – python docs
Syntax:
De uitdrukking kan elke willekeurige uitdrukking zijn, complexe uitdrukkingen, tuple, geneste functies, of een andere lijstbegrip.
Dit is gelijkwaardig aan
for item in iterable:
if conditional:
expression
Return Type:
List
Lijstbegrip gebruiken:
Een lijstbegrip bestaat uit haakjes die een uitdrukking bevatten, gevolgd door een
for
-clausule en vervolgens nul of meer for
– of if
-clausules. Het resultaat is een nieuwe lijst die het resultaat is van de evaluatie van de uitdrukking in de context van de for
en if
clausules die erop volgen.
List comprehension vs for loop.
Door List Comprehension te gebruiken, is het beknopter en leesbaarder in vergelijking met for loop.
Het kwadraat van getallen vinden met List Comprehension vs for-lus:
List comprehension vs filter.
Het retourneert een iterator van die elementen van iterable waarvoor de functie true retourneert. iterable kan een reeks zijn, een container die iteratie ondersteunt, of een iterator
Het vinden van even getallen met behulp van List Comprehension vs filter():
3.List Comprehension vs map.
map:
Retourneert een iterator die een functie toepast op elk item van iterable, wat de resultaten oplevert.
Het kwadraat van getallen vinden met behulp van List Comprehension vs map():
Nested loops in List Comprehension.
List comprehension kan een of meer for-clausules bevatten.
Voorbeeld 1: Een lijst afvlakken met behulp van List Comprehension met twee ‘for’-clausules:
5.Meerdere if-condities in List Comprehension.
List Comprehension kan nul of meer if-clausules bevatten.
Voorbeeld: Getallen vinden die deelbaar zijn door 2 en 3.
De uitdrukking kan een tupel zijn in List Comprehension.
We kunnen de uitdrukking als een tupel vermelden in een list comprehension. Het moet tussen haakjes worden geschreven. Anders zal het een foutmelding geven. Het resultaat is een lijst met tupels.
Voorbeeld 1: een lijst met tupels maken met behulp van List Comprehension met twee ‘for’-clausules:
Als de uitdrukking een tupel is en niet tussen haakjes staat, treedt er een SyntaxError op.
Voorbeeld 2:De functie zip() in List Comprehension gebruiken:
List Comprehension kan worden gebruikt om een methode voor elk element aan te roepen.
Voorbeeld 1: De methode strip() voor elk element in de lijst aanroepen. Het wordt gebruikt om de witte spaties te verwijderen.
Voorbeeld 2: aanroepen van de methode upper() op elk element in de lijst.
Lijstbegrip kan complexe uitdrukkingen en geneste functies bevatten.
Voorbeeld 1:In het onderstaande voorbeeld gebruiken we in de expressie de methode strip en de functie int.
Voorbeeld 2: In het onderstaande voorbeeld gebruiken we in de expressie abs() en de functie str().
Nested List Comprehension.
De expressie in een list comprehension kan ook een andere list comprehension bevatten.
Voorbeeld: De eerste list comprehension gegeven als expressie zal een lijst van even getallen van 0 tot 10 teruggeven. Geneste lijstopvattingen zullen die uitdrukking (lijst van even getallen van 0 tot 10) drie keer (bereik(3)) teruggeven.