Mam listę ciągów, z których chcę zlokalizować każdą linię, która ma "http: //" w nim, ale nie ma "lulz", " lmfao ',' .png 'lub dowolne inne pozycje na liście napisów w nim zawartych. Jak bym to zrobił?Jeśli ciąg nie zawiera żadnej listy ciągów w pytonie
Moje instynkty każą mi używać wyrażeń regularnych, ale mam moralny sprzeciw wobec czarów.
Awesome! Używam lambda! Wiedziałem, że istnieje z jakiegoś powodu! – directedition
Nie musisz. 'lambda' pozwala ci zdefiniować funkcję inline zamiast ustawiania zmiennej' filter_func'; ale równie dobrze można napisać 'def filter_func (s): return 'http: //' in s, a nie any (x in s for x in exclude)'. Pamiętaj, że funkcje są obiektami. –
Powiedziałbym nawet, że jest to nieodpowiednie użycie 'lambda'. Nie ma powodu, aby preferować go do "def" tutaj. – wim