Python

Python-filterfunctie

Python-filterfunctie

Het filter is een ingebouwde Python-functie. Het filtert de gespecificeerde reeks of iterable door een functie die elk item of element in de iterable controleert om waar of onwaar te zijn. Simpel gezegd, de filterfunctie filtert het iterabele door een functie. De gegeven functie test elk item van de reeks of iterabel en geeft de waarde true als het item aan de gegeven criteria voldeed. Als resultaat construeert de functie filter() een nieuwe iterator. De meest gebruikte iterable zijn lijsten, tupels en woordenboeken. Dit artikel beschrijft in het kort de functie filter() aan de hand van voorbeelden.

Syntaxis van de functie filter()

Laten we eerst de syntaxis van de functie filter() bespreken. De syntaxis van de functie filter() is als volgt:

filet (functie, itereerbaar of reeks)

De filterfunctie heeft twee parameters als argument, i.e., functie en een iterable. De functie controleert elk element of item van de iterabele, of het waar is of niet, volgens bepaalde criteria. Het tweede argument is itereerbaar of de volgorde die moet worden gefilterd. De functie evalueert elk item van de iterabele op de gegeven criteria. Ten slotte retourneert de functie filter() de gefilterde iterator.

Laten we eens kijken naar de voorbeelden van de functie filter() en deze implementeren in ons Python-script. We gebruiken een spyder3-editor om de Python-scripts te maken en uit te voeren.

Voorbeeld 1: Filter de lijst met nummers

Laten we de lijst met nummers maken en deze filteren. In het gegeven voorbeeld evalueert de list_func() elk lijstitem op een bepaalde voorwaarde. Als het lijstitem groter is dan 5, retourneert de functie waar en voegt het item toe aan het filter.

#een lijst met nummers maken
mijn_lijst = [1,2,3,4,5,6,10,20,35,8,4,50,60]
#een functie maken
def list_func(listObj):
# een voorwaardelijke verklaring om het nummer te controleren
if(listObj>5):
retourneer True
anders:
retourneer False
#gebruik de filterfunctie om de iterabele te filteren via list_func
nummers = filter(list_func,my_list)
#print de nieuwe iterator
voor i in cijfers:
afdrukken (ik)

Uitgang:
De uitvoer toont de gefilterde iterator. De gefilterde iterator wordt geconstrueerd door al die items die groter zijn dan 5.

Voorbeeld 2: Filter de lijst met tekens

Laten we de lijst met tekens maken en de filterfunctie toepassen.

#een lijst met nummers maken
my_list = ['a','b','c','l','d','i','k','n','o','u','x']
#een functie maken
def list_func(listObj):
word_list=['l', 'i', 'n', 'u', 'x']
# een voorwaardelijke instructie om het teken te controleren
if(listObj in word_list):
retourneer True
anders:
retourneer False
#gebruik de filterfunctie om de iterabele te filteren via list_func
woorden = filter(list_func,my_list)
#print de nieuwe iterator
voor ik in woorden:
afdrukken (ik)

Uitgang:

Voorbeelden 3: Filter het even getal

Laten we de even getallen uit de gegeven lijst met getallen filteren met behulp van de filterfunctie.

#een lijst met nummers maken
mijn_lijst = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
#een functie maken
def list_func(listObj):
# een voorwaardelijke verklaring om het even getal te controleren
if(listObj%2==0):
retourneer True
anders:
retourneer False
#gebruik de filterfunctie om de iterabele te filteren via list_func
even_numbers= filter(list_func,my_list)
#print de nieuwe iterator
voor i in even_getallen:
afdrukken (ik)

Uitgang:

Voorbeelden 4: Filter het schrikkeljaar

Laten we de schrikkeljaren uit de gegeven lijst met jaren filteren met behulp van de filterfunctie.

#een lijst met nummers maken
mijn_lijst = [2010,2012,2014,2016,2018,2020,2022,2024]
#een functie maken
def list_func(listObj):
# een voorwaardelijke verklaring om het schrikkeljaar te controleren
if(listObj%4==0):
retourneer True
anders:
retourneer False
#gebruik de filterfunctie om de iterabele te filteren via list_func
leap_year= filter(list_func,my_list)
#print de nieuwe iterator
voor i in schrikkeljaar:
afdrukken (ik)

Uitgang:

De uitvoer toont de schrikkeljaren uit de gegeven lijst met jaren.

Voorbeelden 5: lambda-functie gebruiken met filter()

De filterfunctie wordt meestal gebruikt met de lambda-functie. Laten we de lambda-functie als argument doorgeven aan de functie filter().

#een lijst met nummers maken
mijn_lijst = [2010,2012,2014,2016,2018,2020,2022,2024]
#declareren van een even_getalvariabele
#even_number variabele bevat de even getallen
#lamda-functie gebruiken
even_nummer = filter(lambda listObj:listObj%2==0,my_list)
print("De lijst met even getallen")
voor i in even_nummer:
afdrukken (ik)
leap_year = filter(lambda listObj:listObj%4==0,my_list)
print("De lijst met schrikkeljaren")
voor x in schrikkeljaar:
afdrukken(x)

Uitgang:

Conclusie

De filter() is een ingebouwde functie van Python die wordt gebruikt om de iterabele op een bepaalde functie te filteren. In dit artikel wordt de functie filter() uitgelegd met voorbeelden.

Hoe de GameConqueror Cheat Engine in Linux te gebruiken
Het artikel bevat een handleiding over het gebruik van de GameConqueror cheat-engine in Linux. Veel gebruikers die games op Windows spelen, gebruiken ...
Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...