Det klassiska problemet som kan hanteras ganska enkelt av Python och som också har behandlats många gånger är att hitta om en sträng är delsträng av en annan. Men ibland vill man utöka detta på en lista med strängar, och då krävs det att man går igenom hela behållaren och utför den generiska algoritmen.

Låt oss diskutera vissa sätt att hitta strängar med given delsträng i en lista.

Metod #1 : Användning av listförståelse
Listförståelse är ett elegant sätt att utföra en viss uppgift eftersom det ökar läsbarheten i det långa loppet. Den här uppgiften kan utföras med hjälp av naiv metod och kan därmed också reduceras till listförståelse.

test_list =
print ("The original list is : " + str(test_list))
subs = 'Geek'
res =
print ("All strings with given substring are : " + str(res))



Resultat:

The original list is : All strings with given substring are : 

Metod #2 : Användning av filter() + lambda
Denna funktion kan också utföra denna uppgift att hitta strängar med hjälp av lambda. Den filtrerar bara ut alla strängar som matchar en viss delsträng och lägger sedan till dem i en ny lista.

test_list =
print ("The original list is : " + str(test_list))
subs = 'Geek'
res = list(filter(lambda x: subs in x, test_list))
print ("All strings with given substring are : " + str(res))



Resultat:

The original list is : All strings with given substring are : 

Metod #3 : Användning av re + search()
Regulära uttryck kan användas för att utföra många uppgifter i Python. För att utföra just den här uppgiften kan reguljära uttryck också komma väl till pass. Den hittar alla matchande delsträngar med hjälp av search() och returnerar resultatet.

import re
test_list =
print ("The original list is : " + str(test_list))
subs = 'Geek'
res =
print ("All strings with given substring are : " + str(res))



Utfall:

The original list is : All strings with given substring are : 

Artikel Taggar :