Klasycznym problemem, z którym Python radzi sobie dość łatwo i z którym miał do czynienia wiele razy, jest znalezienie, czy ciąg jest podłańcuchem innego ciągu. Ale czasami chce się to rozszerzyć na listę ciągów, a więc wymaga to przejścia przez cały kontener i wykonania ogólnego algorytmu.

Przedyskutujmy pewne sposoby na znalezienie ciągów z danym podłańcuchem na liście.

Metoda #1: Użycie zrozumienia listy
Zrozumienie listy jest eleganckim sposobem na wykonanie konkretnego zadania, ponieważ zwiększa czytelność na dłuższą metę. Zadanie to może być wykonane przy użyciu metody naiwnej, a zatem może być zredukowane do zrozumienia listy, jak również.

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



Wyjście:

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

Metoda #2 : Użycie filter() + lambda
Ta funkcja również może wykonać to zadanie znajdowania ciągów za pomocą lambdy. Po prostu odfiltrowuje wszystkie ciągi pasujące do danego podłańcucha, a następnie dodaje je do nowej listy.

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



Wyjście:

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

Metoda #3 : Użycie re + search()
Wyrażenia regularne mogą być używane do wykonywania wielu zadań w pythonie. Aby wykonać to konkretne zadanie również, wyrażenia regularne mogą się przydać. Znajduje ono wszystkie pasujące podciągi używając search() i zwraca wynik.

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



Wyjście:

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

Znaczniki artykułów :