Een lijst met strings filteren in Python

How Filter List Strings Python



Python gebruikt het gegevenstype lijst om meerdere gegevens in een sequentiële index op te slaan. Het werkt als een numerieke reeks van andere programmeertalen. filter() methode is een zeer nuttige methode van Python. Een of meer gegevenswaarden kunnen worden gefilterd uit elke tekenreeks, lijst of woordenboek in Python met behulp van de filter()-methode. Het filtert gegevens op basis van een bepaalde voorwaarde. Het slaat gegevens op wanneer de voorwaarde true retourneert en negeert gegevens wanneer deze false retourneert. Hoe de tekenreeksgegevens in een lijst in Python kunnen worden gefilterd, wordt in dit artikel weergegeven aan de hand van verschillende voorbeelden. Je moet Python 3+ gebruiken om de voorbeelden van dit artikel te testen.

Filter een lijst met strings met een andere lijst

Dit voorbeeld laat zien hoe de gegevens in een lijst met tekenreeksen kunnen worden gefilterd zonder enige methode te gebruiken. De lijst van de string wordt hier gefilterd door een andere lijst te gebruiken. Hier worden twee lijstvariabelen gedeclareerd met de naam lijst1 en lijst2 . de waarden van lijst2 wordt gefilterd met behulp van de waarden van lijst1 . Het script komt overeen met het eerste woord van elke waarde van lijst2 met de waarden van lijst1 en druk die waarden af ​​die niet bestaan ​​in lijst1 .







# Declareer twee lijstvariabelen
lijst1= ['Perl', 'PHP', 'Java', 'ADDER']
lijst2= ['JavaScript is client-side scripttaal',
'PHP is een server-side scripttaal',
'Java is een programmeertaal',
'Bash is een scripttaal']

# Filter de tweede lijst op basis van de eerste lijst
filter_data= [xvoorxinlijst2indien
alle(enniet inxvooreninlijst1)]

# Lijstgegevens afdrukken voor filter en na filter
afdrukken('De inhoud van de eerste lijst:',lijst1)
afdrukken('De inhoud van de tweede lijst:',lijst2)
afdrukken('De inhoud van de tweede lijst na filter:',filter_data)

Uitgang:



Voer het script uit. Hier, lijst1 bevat niet het woord ‘ bash ’. De uitvoer bevat slechts één waarde van lijst2 dat is ' Bash is een scripttaal' .







Filter een lijst met strings met een andere lijst en aangepaste functie

Dit voorbeeld laat zien hoe een lijst met tekenreeksen kan worden gefilterd door een andere lijst en de aangepaste filterfunctie te gebruiken. Het script bevat twee lijstvariabelen genaamd list1 en list2. De aangepaste filterfunctie zal de gemeenschappelijke waarden van beide lijstvariabelen achterhalen.

# Declareer twee lijstvariabelen
lijst1= ['90', '67', '3. 4', '55', '12', '87', '32']
lijst2= ['9', '90', '38', 'Vier vijf', '12', 'twintig']

# Declareer een functie om gegevens uit de eerste lijst te filteren
zekerFilter(lijst1,lijst2):
opbrengst [NvoorNinlijst1indien
ieder(minNvoorminlijst2)]

# Druk de lijstgegevens af voor filter en na filter
afdrukken('De inhoud van lijst1:',lijst1)
afdrukken('De inhoud van lijst2:',lijst2)
afdrukken('De data na filter',Filter(lijst1,lijst2))

Uitgang:



Voer het script uit. Er zijn 90 en 12 waarden in beide lijstvariabelen. De volgende uitvoer wordt gegenereerd nadat het script is uitgevoerd.

Filter een lijst met tekenreeksen met behulp van reguliere expressie

Lijst wordt gefilterd met behulp van alle() en ieder() methoden in de vorige twee voorbeelden. In dit voorbeeld wordt een reguliere expressie gebruikt om de gegevens uit een lijst te filteren. Een reguliere expressie is een patroon waarmee alle gegevens kunnen worden doorzocht of overeenkomen. 'met betrekking tot' module wordt in python gebruikt om reguliere expressies in het script toe te passen. Hier wordt een lijst gedeclareerd met onderwerpcodes. Een reguliere expressie wordt gebruikt om de onderwerpcodes te filteren die beginnen met het woord ' CSE '. ' ^ ' symbool wordt gebruikt in reguliere expressiepatronen om aan het begin van de tekst te zoeken.

# Importeer re-module om reguliere expressie te gebruiken
importeren met betrekking tot

# Verklaar dat de lijst onderwerpcode bevat
sublijst= ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']

# Declareer de filterfunctie
zekerFilter(datalijst):
# Zoek gegevens op basis van reguliere expressies in de lijst
opbrengst [uurvooruurindatalijst
indien met betrekking tot.zoeken(R'^ CSE',uur)]

# Print de filtergegevens
afdrukken(Filter(sublijst))

Uitgang:

Voer het script uit. sublijst variabele bevat twee waarden die beginnen met ‘ CSE ’. De volgende uitvoer verschijnt na het uitvoeren van het script.

Filter een lijst met strings met lamda-expressie

Dit voorbeeld toont het gebruik van lamda expressie om gegevens uit een lijst met tekenreeksen te filteren. Hier een lijstvariabele met de naam zoekwoord wordt gebruikt om inhoud te filteren van een tekstvariabele met de naam tekst . De inhoud van de tekst wordt omgezet in een lijst met de naam, tekst_woord op basis van ruimte door gebruik te maken van splitsen() methode. lamda expressie zal die waarden weglaten uit de tekst_woord die bestaan ​​in zoekwoord en sla de gefilterde waarden op in een variabele door ruimte toe te voegen.

# Declareer een lijst die het zoekwoord bevat
zoekwoord= ['Onderwijzen', 'Code', 'Programmeren', 'Blog']

# Definieer de tekst waar het woord uit de lijst zal zoeken
tekst= 'Leer Python-programmering van Linux Hint Blog'

# Splits de tekst op basis van spatie en sla de woorden op in een lijst
tekst_woord=tekst.splitsen()

# Gebruik lambda-expressie om de gegevens te filteren
filter_text= ''.meedoen((filter(lambdaval: valnietl
n zoekwoord,tekst_woord)))

# Tekst afdrukken voor het filteren en na het filteren
afdrukken('NTekst voor filteren:N',tekst)
afdrukken('Tekst na filtering:N',filter_text)

Uitgang:

Voer het script uit. De volgende uitvoer verschijnt na het uitvoeren van het script.

Filter een lijst met strings met de filter() methode

filter() methode accepteert twee parameters. De eerste parameter krijgt een functienaam of Geen en de tweede parameter neemt de naam van de lijstvariabele als waarden. filter() methode slaat die gegevens op uit de lijst als deze waar retourneert, anders worden de gegevens verwijderd. Hier, Geen wordt gegeven als de eerste parameterwaarde. Alle waarden zonder vals worden als gefilterde gegevens uit de lijst opgehaald.

# Declareer een lijst met mixgegevens
lijstgegevens= ['Hallo', 200, 1, 'Wereld', niet waar, Waar, '0']

# Roep filter() methode aan met Geen en een lijst
gefilterde gegevens= filter(Geen,lijstgegevens)

# Druk de lijst af na het filteren van de gegevens
afdrukken('De lijst na filteren:')
vooruuringefilterde gegevens:
afdrukken(uur)

Uitgang:

Voer het script uit. De lijst bevat slechts één valse waarde die wordt weggelaten in de gefilterde gegevens. De volgende uitvoer verschijnt na het uitvoeren van het script.

Conclusie:

Filteren is handig wanneer u bepaalde waarden uit een lijst moet zoeken en ophalen. Ik hoop dat de bovenstaande voorbeelden de lezers zullen helpen de manieren te begrijpen om gegevens uit een lijst met tekenreeksen te filteren.