List, Set, Dictionary Comprehensions in Python

Laten we eens leren over de list, dictionary, set comprehensions in python.

Indhumathy Chelliah

Follow

Jul 22, 2020 – 5 min read

Foto door Kara Eads op Unsplash

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.

Typen comprehensies in Python(Afbeelding Bron: Auteur)

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 explained(Image Source: Author)

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:

for-lus vs List comprehension

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():

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():

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:

Een lijst afvlakken met behulp van List Comprehension

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.

Lijstbegrip met gebruik van twee if-clausules

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:

Lijst met tupels

Als de uitdrukking een tupel is en niet tussen haakjes staat, treedt er een SyntaxError op.

De uitdrukking moet tussen haakjes staan als het een tupel is.

Voorbeeld 2:De functie zip() in List Comprehension gebruiken:

zip() in List Comprehension

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.

aanroepen van de methode strip() op elk element

Voorbeeld 2: aanroepen van de methode upper() op elk element in de lijst.

aanroepen van de methode upper() op elk element

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.

Nested List Comprehension

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.