Il problema classico che può essere gestito abbastanza facilmente da Python ed è stato anche affrontato molte volte è trovare se una stringa è sottostringa di un’altra. Ma a volte, si desidera estendere questo su liste di stringhe, e quindi richiede di attraversare l’intero contenitore ed eseguire l’algoritmo generico.
Discutiamo alcuni modi per trovare le stringhe con una data sottostringa nella lista.
Metodo #1: Usare la comprensione della lista
La comprensione della lista è un modo elegante per eseguire qualsiasi compito particolare poiché aumenta la leggibilità nel lungo periodo. Questo compito può essere eseguito usando un metodo ingenuo e quindi può essere ridotto anche alla comprensione delle liste.
test_list = print ("The original list is : " + str(test_list)) subs = 'Geek' res = print ("All strings with given substring are : " + str(res)) The original list is : All strings with given substring are :
Metodo #2: Usando filter() + lambda
Questa funzione può anche eseguire questo compito di trovare le stringhe con l’aiuto di lambda. Filtra semplicemente tutte le stringhe che corrispondono alla particolare sottostringa e poi le aggiunge in una nuova 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)) The original list is : All strings with given substring are :
Metodo #3 : usando re + search()
Le espressioni regolari possono essere usate per eseguire molti compiti in python. Anche per eseguire questo particolare compito, le espressioni regolari possono essere utili. Trova tutte le sottostringhe corrispondenti usando search() e restituisce il risultato.
import re test_list = print ("The original list is : " + str(test_list)) subs = 'Geek' res = print ("All strings with given substring are : " + str(res)) The original list is : All strings with given substring are :
Lascia un commento