Slik filtrerer du en liste over strenger i Python

How Filter List Strings Python



Python bruker listedatatype for å lagre flere data i en sekvensiell indeks. Det fungerer som et numerisk utvalg av andre programmeringsspråk. filter () -metoden er en veldig nyttig metode for Python. En eller flere dataverdier kan filtreres fra en hvilken som helst streng eller liste eller ordbok i Python ved å bruke filter () -metoden. Den filtrerer data basert på en bestemt tilstand. Den lagrer data når tilstanden returnerer true og forkaster data når den returnerer false. Hvordan strengdataene i en liste kan filtreres i Python, vises i denne artikkelen ved hjelp av forskjellige eksempler. Du må bruke Python 3+ for å teste eksemplene på denne artikkelen.

Filtrer en liste med streng ved å bruke en annen liste

Dette eksemplet viser hvordan dataene i en liste med strenger kan filtreres uten å bruke noen metode. Listen over strengen filtreres her ved å bruke en annen liste. Her deklareres to listevariabler med navnet liste 1 og liste 2 . Verdiene av liste 2 filtreres ved å bruke verdiene til liste 1 . Skriptet vil matche det første ordet for hver verdi av liste 2 med verdiene til liste 1 og skriv ut verdiene som ikke finnes i liste 1 .







# Deklarer to listevariabler
liste 1= ['Perl', 'PHP', 'Java', 'ASP']
liste 2= ['JavaScript er skriptspråk på klientsiden',
'PHP er et skriptspråk på serversiden',
'Java er et programmeringsspråk',
'Bash er et skriptspråk']

# Filtrer den andre listen basert på den første listen
filter_data= [xtilxiliste 2hvis
alle(ogikke ixtilogiliste 1)]

# Skriv ut listedata før filter og etter filter
skrive ut('Innholdet i den første listen:',liste 1)
skrive ut('Innholdet i den andre listen:',liste 2)
skrive ut('Innholdet i den andre listen etter filter:',filter_data)

Produksjon:



Kjør skriptet. Her, liste 1 inneholder ikke ordet ‘ Bash '. Utdataene inneholder bare én verdi fra liste 2 det er ' Bash er et skriptspråk ’ .







Filtrer en liste med streng ved å bruke en annen liste og egendefinert funksjon

Dette eksemplet viser hvordan en liste med strenger kan filtreres ved å bruke en annen liste og den egendefinerte filterfunksjonen. Skriptet inneholder to listevariabler som heter list1 og list2. Den egendefinerte filterfunksjonen finner ut de vanlige verdiene for begge listevariablene.

# Deklarer to listevariabler
liste 1= ['90', '67', '3. 4', '55', '12', '87', '32']
liste 2= ['9', '90', '38', 'Fire fem', '12', 'tjue']

# Erklær en funksjon for å filtrere data fra den første listen
defFilter(liste 1,liste 2):
komme tilbake [ntilniliste 1hvis
noen(mintilmiliste 2)]

# Skriv ut listedata før filter og etter filter
skrive ut('Innholdet i list1:',liste 1)
skrive ut('Innholdet i list2:',liste 2)
skrive ut('Dataene etter filter',Filter(liste 1,liste 2))

Produksjon:



Kjør skriptet. 90 og 12 verdier finnes i begge listevariablene. Følgende utdata genereres etter at skriptet er kjørt.

Filtrer en liste med streng ved hjelp av vanlig uttrykk

Liste filtreres ved hjelp av alle() og noen() metoder i de to foregående eksemplene. Et vanlig uttrykk brukes i dette eksemplet for å filtrere dataene fra en liste. Et vanlig uttrykk er et mønster som kan søke etter eller matche alle data. 'Re' modul brukes i python for å bruke regulært uttrykk i skriptet. Her deklareres en liste med emnekoder. Et vanlig uttrykk brukes til å filtrere de emnekodene som begynner med ordet ' CSE '. ' ^ 'Symbolet brukes i vanlige uttrykksmønstre for å søke i begynnelsen av teksten.

# Importer re -modulen for å bruke vanlig uttrykk
import re

# Erklær at listen inneholder emnekode
underliste= ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']

# Deklarere filterfunksjonen
defFilter(datalist):
# Søk i data basert på vanlig uttrykk i listen
komme tilbake [timertiltimeridatalist
hvis re.Søk(r'^ CSE',timer)]

# Skriv ut filterdata
skrive ut(Filter(underliste))

Produksjon:

Kjør skriptet. underliste variabelen inneholder to verdier som starter med ‘ CSE '. Følgende utdata vises etter at skriptet er kjørt.

Filtrer en liste med streng ved hjelp av lamda -uttrykk

Dette eksemplet viser bruken av lamda uttrykk for å filtrere data fra en liste med strenger. Her er en listevariabel navngitt søkeord brukes til å filtrere innhold fra en tekstvariabel som heter tekst . Innholdet i teksten konverteres til en liste med navn, tekstord basert på plass ved å bruke dele() metode. lamda uttrykk vil utelate disse verdiene fra tekstord som finnes i søkeord og lagre de filtrerte verdiene i en variabel ved å legge til mellomrom.

# Angi en liste som inneholder søkeordet
søkeord= ['Lære bort', 'Kode', 'Programmering', 'Blogg']

# Definer teksten der ordet fra listen vil søke
tekst= 'Lær Python -programmering fra Linux Hint Blog'

# Del teksten basert på plass og lagre ordene i en liste
tekstord=tekst.dele()

# Bruk lambda -uttrykk til å filtrere dataene
filter_tekst= ''.bli med((filter(lambdaval: valikkeJeg
n søkeord,tekstord)))

# Skriv ut tekst før filtrering og etter filtrering
skrive ut(' nTekst før filtrering: n',tekst)
skrive ut('Tekst etter filtrering: n',filter_tekst)

Produksjon:

Kjør skriptet. Følgende utdata vises etter at skriptet er kjørt.

Filtrer en liste med streng ved hjelp av filter () -metoden

filter() metoden godtar to parametere. Den første parameteren tar et funksjonsnavn eller Ingen og den andre parameteren tar navnet på listevariabelen som verdier. filter() metoden lagrer disse dataene fra listen hvis den returnerer true, ellers kasserer den dataene. Her, Ingen er gitt som den første parameterverdien. Alle verdier uten falsk vil bli hentet fra listen som filtrerte data.

# Deklarere en liste over blandingsdata
listData= ['Hallo', 200, 1, 'Verden', Falsk, ekte, '0']

# Anropsfilter () -metode med Ingen og en liste
filteredData= filter(Ingen,listData)

# Skriv ut listen etter filtrering av dataene
skrive ut('Listen etter filtrering:')
tiltimerifilteredData:
skrive ut(timer)

Produksjon:

Kjør skriptet. Listen inneholder bare én falsk verdi som vil bli utelatt i de filtrerte dataene. Følgende utdata vises etter at skriptet er kjørt.

Konklusjon:

Filtrering er nyttig når du trenger å søke etter og hente bestemte verdier fra en liste. Jeg håper at eksemplene ovenfor vil hjelpe leserne til å forstå måtene å filtrere data fra en liste med strenger.