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