Problema clasică care poate fi tratată destul de ușor de Python și care a fost tratată de multe ori este de a găsi dacă un șir este subșirul al altuia. Dar, uneori, se dorește să se extindă acest lucru pe o listă de șiruri de caractere și, prin urmare, atunci este necesară parcurgerea întregului container și efectuarea algoritmului generic.

Să discutăm anumite modalități de a găsi șiruri de caractere cu o anumită subșir în listă.

Metoda #1 : Utilizarea înțelegerii listei
Comprehensiunea listei este o modalitate elegantă de a efectua orice sarcină particulară, deoarece crește lizibilitatea pe termen lung. Această sarcină poate fi realizată utilizând metoda naivă și, prin urmare, poate fi redusă și la înțelegerea listei.

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




Ieșire:

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

Metoda nr. 2 : Folosind filter() + lambda
Această funcție poate, de asemenea, să îndeplinească această sarcină de căutare a șirurilor de caractere cu ajutorul lambda. Pur și simplu filtrează toate șirurile care corespund unei anumite subșiruri și apoi le adaugă într-o nouă listă.

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



Ieșire:

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

Metoda #3 : Folosind re + search()
Expresiile regulate pot fi folosite pentru a efectua multe sarcini în python. Pentru a efectua această sarcină particulară, de asemenea, expresiile regulate pot veni la îndemână. Aceasta găsește toate subșirurile care se potrivesc folosind search() și returnează rezultatul.

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



Output:

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

Etichete articol :