python的filter怎么筛选包含关键字
时间: 2023-06-04 07:03:54 浏览: 155
Python如何用filter函数筛选数据
的字符串?
如果你想使用Python的`filter`函数来筛选包含某个关键字的字符串,可以使用`lambda`表达式和`in`关键字。下面是示例代码:
```
keywords = ["apple", "banana", "orange"]
strings = ["I like apples", "I don't like bananas", "I like oranges and apples", "I hate onions"]
filtered_strings = list(filter(lambda x: any(keyword in x for keyword in keywords), strings))
print(filtered_strings)
```
输出结果:
```
['I like apples', 'I don't like bananas', 'I like oranges and apples']
```
这个代码片段首先定义了一个列表`keywords`,里面包含了要筛选的关键字。然后定义了一个列表`strings`,里面包含了要筛选的字符串。
`filter`函数会遍历`strings`列表中的每个元素,并将其传给`lambda`表达式所表示的函数。`lambda`表达式使用了一个`any`函数和一个生成器表达式,来判断当前遍历到的字符串中是否包含任意一个关键字。如果包含,则返回`True`,否则返回`False`。`filter`函数将所有返回`True`的元素存放在一个新列表中并返回。
最后,我们使用`list`函数将返回值转换为列表,并将其打印出来。
希望可以帮助到你。
阅读全文