Så här filtrerar du en lista över strängar i Python

How Filter List Strings Python



Python använder listdatatyp för att lagra flera data i ett sekventiellt index. Det fungerar som en numerisk uppsättning andra programmeringsspråk. filter () -metoden är en mycket användbar metod för Python. Ett eller flera datavärden kan filtreras från valfri sträng eller lista eller ordlista i Python med hjälp av filter () -metoden. Det filtrerar data baserat på ett visst tillstånd. Den lagrar data när villkoret returnerar true och kasserar data när de returnerar falska. Hur strängdata i en lista kan filtreras i Python visas i den här artikeln med hjälp av olika exempel. Du måste använda Python 3+ för att testa exemplen på den här artikeln.

Filtrera en lista med sträng med en annan lista

Detta exempel visar hur data i en lista med strängar kan filtreras utan att använda någon metod. Listan över strängen filtreras här med en annan lista. Här deklareras två listvariabler med namnet lista 1 och lista2 . Värdena på lista2 filtreras med värdena för lista 1 . Skriptet matchar det första ordet i varje värde av lista2 med värdena på lista 1 och skriv ut de värden som inte finns i lista 1 .







# Deklarera två listvariabler
lista 1= ['Perl', 'PHP', 'Java', 'ASP']
lista2= ['JavaScript är skriptspråk på klientsidan',
'PHP är ett skriptspråk på serversidan',
'Java är ett programmeringsspråk',
'Bash är ett skriptspråk']

# Filtrera den andra listan baserat på den första listan
filter_data= [xförxilista2om
Allt(ochinte ixförochilista 1)]

# Skriv ut listdata före filter och efter filter
skriva ut('Innehållet i den första listan:',lista 1)
skriva ut('Innehållet i den andra listan:',lista2)
skriva ut('Innehållet i den andra listan efter filter:',filter_data)

Produktion:



Kör skriptet. Här, lista 1 innehåller inte ordet ' Våldsamt slag ’. Utdata innehåller endast ett värde från lista2 det är ' Bash är ett skriptspråk ’ .







Filtrera en lista med strängar med en annan lista och anpassad funktion

Detta exempel visar hur en lista med strängar kan filtreras med hjälp av en annan lista och den anpassade filterfunktionen. Skriptet innehåller två listvariabler som heter list1 och list2. Den anpassade filterfunktionen tar reda på de gemensamma värdena för båda listvariablerna.

# Deklarera två listvariabler
lista 1= ['90', '67', '3. 4', '55', '12', '87', '32']
lista2= ['9', '90', '38', 'Fyra fem', '12', 'tjugo']

# Förklara en funktion för att filtrera data från den första listan
defFiltrera(lista 1,lista2):
lämna tillbaka [nförnilista 1om
några(minförmilista2)]

# Skriv ut listdata före filter och efter filter
skriva ut('Innehållet i list1:',lista 1)
skriva ut('Innehållet i list2:',lista2)
skriva ut('Data efter filter',Filtrera(lista 1,lista2))

Produktion:



Kör skriptet. 90 och 12 värden finns i båda listvariablerna. Följande utdata genereras efter att manuset har körts.

Filtrera en lista med sträng med hjälp av reguljärt uttryck

Listan filtreras med Allt() och några() metoder i de två föregående exemplen. Ett vanligt uttryck används i detta exempel för att filtrera data från en lista. Ett reguljärt uttryck är ett mönster med vilket data kan sökas eller matchas. 're' modul används i python för att tillämpa reguljärt uttryck i skriptet. Här deklareras en lista med ämneskoder. Ett vanligt uttryck används för att filtrera de ämneskoder som börjar med ordet ' CSE '. ' ^ 'Symbolen används i vanliga uttrycksmönster för att söka i början av texten.

# Importera re -modul för att använda reguljärt uttryck
importera re

# Förklara att listan innehåller ämneskod
underlista= ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']

# Deklarera filterfunktionen
defFiltrera(datalist):
# Sök data baserat på reguljärt uttryck i listan
lämna tillbaka [timmarförtimmaridatalist
om re.Sök(r'^ CSE',timmar)]

# Skriv ut filterdata
skriva ut(Filtrera(underlista))

Produktion:

Kör skriptet. underlista variabel innehåller två värden som börjar med ' CSE ’. Följande utdata visas efter att manuset har körts.

Filtrera en lista med sträng med hjälp av lamda -uttryck

Detta exempel visar användningen av lamda uttryck för att filtrera data från en lista med strängar. Här är en listvariabel namngiven sökord används för att filtrera innehåll från en textvariabel med namnet text . Innehållet i texten konverteras till en lista med namnet, text_ord baserat på utrymme med hjälp av dela() metod. lamda uttryck kommer att utelämna dessa värden från text_ord som finns i sökord och lagra de filtrerade värdena i en variabel genom att lägga till utrymme.

# Deklarera en lista som innehåller sökordet
sökord= ['Lära', 'Koda', 'Programmering', 'Blogg']

# Definiera texten där ordet från listan kommer att söka
text= 'Lär dig Python -programmering från Linux Hint Blog'

# Dela upp texten utifrån utrymme och spara orden i en lista
text_ord=text.dela()

# Använd lambda -uttryck för att filtrera data
filter_text= ''.Ansluta sig((filtrera(lambdaval: valintei
n sökord,text_ord)))

# Skriv ut text före filtrering och efter filtrering
skriva ut(' nText före filtrering: n',text)
skriva ut('Text efter filtrering: n',filter_text)

Produktion:

Kör skriptet. Följande utdata visas efter att manuset har körts.

Filtrera en lista med sträng med filter () -metoden

filtrera() metoden accepterar två parametrar. Den första parametern tar ett funktionsnamn eller Ingen och den andra parametern tar namnet på listvariabeln som värden. filtrera() metoden lagrar dessa data från listan om den returnerar sant, annars kasserar den data. Här, Ingen ges som det första parametervärdet. Alla värden utan falsk kommer att hämtas från listan som filtrerade data.

# Deklarera en lista med mixdata
listData= ['Hej', 200, 1, 'Värld', Falsk, Sann, '0']

# Samtalsfilter () -metod med None och en lista
filteredData= filtrera(Ingen,listData)

# Skriv ut listan efter filtrering av data
skriva ut('Listan efter filtrering:')
förtimmarifilteredData:
skriva ut(timmar)

Produktion:

Kör skriptet. Listan innehåller bara ett falskt värde som kommer att utelämnas i filtrerade data. Följande utdata visas efter att manuset har körts.

Slutsats:

Filtrering är till hjälp när du behöver söka och hämta specifika värden från en lista. Jag hoppas att ovanstående exempel hjälper läsarna att förstå sätten att filtrera data från en lista med strängar.