Het klassieke probleem dat vrij eenvoudig door Python kan worden afgehandeld en dat ook al vele malen is behandeld, is het vinden of een string een substring is van een andere. Maar soms wil men dit uitbreiden naar een lijst van strings, en dan moet de hele container doorzocht worden en het generieke algoritme worden uitgevoerd.

Laten we enkele manieren bespreken om strings met een gegeven substring in een lijst te vinden.

Methode #1 : Met behulp van list comprehension
List comprehension is een elegante manier om een bepaalde taak uit te voeren, omdat het de leesbaarheid op de lange termijn vergroot. Deze taak kan worden uitgevoerd met behulp van naïeve methode en kan dus ook worden teruggebracht tot list comprehension.

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



Uitvoer:

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

Methode #2 : Met behulp van filter() + lambda
Deze functie kan ook deze taak uitvoeren van het vinden van de strings met behulp van lambda. De functie filtert gewoon alle tekenreeksen die met een bepaalde substring overeenkomen en voegt ze vervolgens aan een nieuwe lijst toe.

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))



Uitvoer:

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

Methode #3 : Met behulp van re + search()
Reguliere uitdrukkingen kunnen worden gebruikt om veel taken in python uit te voeren. Om deze specifieke taak ook uit te voeren, kunnen reguliere expressies van pas komen. Het vindt alle overeenkomende substring met behulp van search() en geeft het resultaat.

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



Uitvoer:

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

Artikel tags :