Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Filter-Functie in Gebruik | Hogere-orde Functies en Lambdas
Functionele Programmeerconcepten in Python
Sectie 2. Hoofdstuk 3
single

single

bookFilter-Functie in Gebruik

Veeg om het menu te tonen

Je hebt al gezien hoe hogere-orde functies zoals map je in staat stellen om een functie toe te passen op elk element in een reeks. Een andere essentiële hogere-orde functie in Python is filter.

De filter-functie wordt gebruikt om elementen uit een reeks te selecteren op basis van het voldoen aan een bepaalde voorwaarde. Het neemt twee argumenten: een functie die True of False retourneert voor elk element, en de reeks die gefilterd moet worden. Het resultaat is een iterator die alleen die elementen bevat waarvoor de functie True retourneert. Dit maakt filter bijzonder nuttig wanneer je specifieke items uit een lijst, tuple of andere iterable wilt halen op basis van een criterium, zoals even getallen, positieve waarden of strings van een bepaalde lengte.

123456
def is_even(n): return n % 2 == 0 numbers = [1, 2, 3, 4, 5, 6] even_numbers = list(filter(is_even, numbers)) print(even_numbers)
copy

Deze code gebruikt de filter()-functie om een nieuwe lijst te maken die alleen de even gehele getallen uit een bestaande collectie bevat. Dit gebeurt door een predicaatfunctie, is_even(n), te definiëren. De filter-functie doorloopt de lijst met getallen, past deze controle toe op elk element en negeert alle elementen die niet aan de voorwaarde voldoen. Ten slotte wordt het resulterende filterobject omgezet naar een lijst, wat de uitvoer oplevert.

Note
Opmerking

Wanneer je de functie filter gebruikt, retourneert deze een filterobject, wat een iterator is — geen lijst. Als je het resultaat van filter direct afdrukt, zie je een uitvoer zoals:

<filter object at 0xfffec885eb30>

Om de gefilterde waarden als een lijst te bekijken, moet je het filterobject omzetten met list().

Taak

Veeg om te beginnen met coderen

Je gaat de functie filter gebruiken om positieve getallen uit een lijst te selecteren.

  • De functie is_positive moet True retourneren als het argument groter is dan nul, en anders False.
  • De functie filter_positive moet de functie filter samen met is_positive gebruiken om een nieuwe lijst te maken die alleen de positieve getallen uit de invoerlijst bevat.
  • De functie moet deze nieuwe lijst retourneren.
  • Vergeet niet om pass te verwijderen.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt