Python 具有 OR 条件的 lambda

Python lambda with OR criteria

我有一段其他功能的代码,这感觉是一个非常简单的问题,但我想不通:

下面的代码片段使用来自网络抓取的 HTML 元素列表,然后打印其中包含 'THIS' 的元素。完美运行。

现在如何使用 'or' 进行过滤,例如使用 'THIS' 或 'THAT' 或 'THOSE' 进行过滤?

我试过用 'THIS' 或 'THAT' 或 'THOSE' 替换 'THIS' 但由于某种原因即使没有 'THIS' 它也开始让值通过, 'THAT' 或 'THOSE'.

感谢帮助!!

lst = [ x.text for x in span_elements ]

#THIS PIECE OF CODE
filtered_list = list(filter(lambda k: 'THIS' in k, lst))

print(filtered_list)

您可以在同一行中过滤和提取:

words = ("THIS", "THAT", "THOSE")
lst = [ x.text for x in span_elements if any(word in x.text for word in words)]