Filtrer en liste over strenger ved hjelp av en annen liste
Dette eksemplet viser hvordan dataene i en liste over strenger kan filtreres uten å bruke noen metode. Listen over strengen filtreres her ved hjelp av en annen liste. Her er to listevariabler erklært med navnet liste1 og liste2. Verdiene av liste2 filtreres ved å bruke verdiene på liste1. Skriptet vil matche det første ordet i hver verdi av liste2 med verdiene av liste1 og skriv ut verdiene som ikke finnes i liste1.
# Deklarer to listevariablerlist1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['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 = [x for x i liste2 hvis
alle (y ikke i x for y i liste1)]
# Skriv ut listedata før filter og etter filter
print ("Innholdet i den første listen:", list1)
print ("Innholdet i den andre listen:", list2)
print ("Innholdet i den andre listen etter filter:", filter_data)
Produksjon:
Kjør skriptet. Her, liste1 inneholder ikke ordet 'Bash'. Utgangen vil bare inneholde en verdi fra liste2 det er 'Bash er et skriptspråk '.
Filtrer en liste over strenger ved hjelp av en annen liste og tilpasset funksjon
Dette eksemplet viser hvordan en liste over strenger kan filtreres ved å bruke en annen liste og den tilpassede filterfunksjonen. Skriptet inneholder to listevariabler som heter liste1 og liste2. Den egendefinerte filterfunksjonen vil finne ut de vanlige verdiene til begge listevariablene.
# Erklær to listevariablerlist1 = ['90', '67', '34', '55', '12', '87', '32']
list2 = ['9', '90', '38', '45', '12', '20']
# Erklær en funksjon for å filtrere data fra den første listen
def Filter (liste1, liste2):
returner [n for n i liste1 hvis
noen (m i n for m i liste2)]
# Skriv ut listedataene før filteret og etter filteret
print ("Innholdet i liste1:", liste1)
print ("Innholdet i liste2:", liste2)
skriv ut ("Dataene etter filteret", Filter (liste1, liste2))
Produksjon:
Kjør skriptet. 90 og 12 verdier finnes i begge listevariablene. Følgende utdata genereres etter at man har kjørt skriptet.
Filtrer en liste over strenger ved å bruke regulært uttrykk
Listen 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 der data kan søkes eller matches. 're' modulen brukes i python for å bruke vanlig uttrykk i skriptet. Her blir en liste erklært med emnekoder. Et vanlig uttrykk brukes til å filtrere emnekodene som begynner med ordet, 'CSE'. '^'symbolet brukes i regulære uttrykksmønstre for å søke i begynnelsen av teksten.
# Importer re-modul for å bruke vanlig uttrykkimporter re
# Erklær at listen inneholder emnekode
sublist = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Erklær filterfunksjonen
def Filter (dataliste):
# Søk etter data basert på regulært uttrykk i listen
return [val for val i dataliste
hvis re.søk (r '^ CSE', val)]
# Skriv ut filterdataene
skriv ut (Filter (underliste))
Produksjon:
Kjør skriptet. underliste variabel inneholder to verdier som begynner med 'CSE'. Følgende utdata vises etter kjøring av skriptet.
Filtrer en liste over strenger ved hjelp av lamdauttrykk
Dette eksemplet viser bruken av lamda uttrykk for å filtrere data fra en liste over strenger. Her er en listevariabel kalt 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 eksisterer i søkeord og lagre de filtrerte verdiene i en variabel ved å legge til mellomrom.
# Deklarer en liste som inneholder søkeordetsearch_word = ["Teach", "Code", "Programming", "Blog"]
# Definer teksten der ordet fra listen vil søke
text = "Lær Python-programmering fra Linux Hint Blog"
# Del teksten basert på mellomrom og lagre ordene i en liste
text_word = tekst.dele()
# Bruk data fra lambda-uttrykk
filter_text = ".bli med ((filter (lambda val: val not i
n søkeord, tekstord)))
# Skriv ut tekst før filtrering og etter filtrering
skriv ut ("\ nTekst før filtrering: \ n", tekst)
skriv ut ("Tekst etter filtrering: \ n", filter_text)
Produksjon:
Kjør skriptet. Følgende utdata vises etter kjøring av skriptet.
Filtrer en liste over strenger 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 sant, ellers forkaster den dataene. Her, Ingen er gitt som den første parameterverdien. Alle verdier uten falsk vil bli hentet fra listen som filtrerte data.
# Erklær en liste over miksdatalistData = ['Hello', 200, 1, 'World', False, True, '0']
# Metode for anropsfilter () med Ingen og en liste
filteredData = filter (Ingen, listData)
# Skriv ut listen etter filtrering av dataene
skriv ut ('Listen etter filtrering:')
for val i filtrerte data:
skrive ut (val)
Produksjon:
Kjør skriptet. Listen inneholder bare en falsk verdi som vil bli utelatt i de filtrerte dataene. Følgende utdata vises etter kjøring av skriptet.
Konklusjon:
Filtrering er nyttig når du trenger å søke etter og hente bestemte verdier fra en liste. Jeg håper eksemplene ovenfor vil hjelpe leserne til å forstå måtene å filtrere data fra en liste over strenger.