002集filter()函数及lambda()函数应用实例—python基础入门实例

1.filter()函数的基本语法如下:

filter ( function , iterable )

其中,function是一个用于判断的函数,iterable是一个可迭代对象,可以是列表、元组、集合或字符串等。filter()会将iterable中的每个元素依次传给function进行判断,返回满足条件的元素组成的迭代器。 让我们来看一个简单的例子,使用filter()函数过滤出列表中的偶数:

python 复制代码
# 定义一个函数,判断是否为偶数
def is_even(num):
    return num % 2 == 0  # 待筛选的列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  # 使用filter函数过滤出偶数
filtered_numbers = filter(is_even, numbers)  # 将filter的结果转换为列表
result = list(filtered_numbers)
print(result)  # 输出: [2,4,6,8,10]

运行结果为:

F:\software\pythonProject\venv\Scripts\python.exe F:\software\pythonProject\0104.py

2, 4, 6, 8, 10

2. 使用Lambda()匿名函数,表达式进一步简化代码

lambda()匿名函数的主要用途是作为其他函数的参数,例如map()filter()reduce()等高阶函数。使用匿名函数可以避免编写额外的函数定义,使代码更加简洁明了。

有时候,我们只需要使用一次性的简单函数进行筛选,此时可以使用Lambda表达式,从而省略单独定义函数的步骤,使代码更加简洁。以上面的例子为例,我们可以改写为:

python 复制代码
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  # 使用Lambda表达式过滤出偶数
filtered_numbers = filter(lambda x: x % 2 == 0, numbers)  # 将filter的结果转换为列表
result = list(filtered_numbers)
# print(result)# 输出: [2, 4, 6, 8, 10]
print(result)  # 输出: [2,4,6,8,10]

运行结果如下:

以下为lambda()函数,fileter()函数实例:

python 复制代码
data1 = [66, 15, 91, 28, 98, 50, 7, 80, 99]  # data1为列表形式数据
myfilter = filter(lambda x: (x > 50), data1)  # filter()函数为过滤函数 lambda
data2 = list(myfilter)
print('data2是:', data2)
mapped = map(lambda x: (x * 2), data2)
data3 = list(mapped)
print('data3是:', data3)
mapped1 = filter(lambda x: (x > 150), data3)
data4 = list(mapped1)
print('data4是:', data4)
mapped2 = map(lambda x: (x > 150), data4)
data5 = list(mapped2)
print('data5是:', data5)

运行结果如下:

F:\software\pythonProject\venv\Scripts\python.exe F:\software\pythonProject\0104.py

data2是: [66, 91, 98, 80, 99]

data3是: [132, 182, 196, 160, 198]

data4是: [182, 196, 160, 198]

data5是: [True, True, True, True]

进程已结束,退出代码为 0

相关推荐
databook20 分钟前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar2 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780512 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_2 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机8 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机9 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机9 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机9 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i10 小时前
drf初步梳理
python·django
每日AI新事件10 小时前
python的异步函数
python