✨今日核心知识点
map() 和 filter() 是Python经典内置高阶函数,接收函数与序列,批量处理集合数据;经常搭配lambda匿名函数使用,简化循环代码,实现函数式编程写法。
🌴基础语法原理
1. map(函数, 可迭代对象)
依次把序列每个元素传入函数处理,返回处理后的新序列,用于批量转换数据
2. filter(函数, 可迭代对象)
函数返回布尔值,自动保留结果为True的元素,用于筛选过滤数据
3. 返回值为迭代器,打印结果需要使用list()转换
4. 常和lambda配合,替代简单for循环
🎈代码实操示例
# 1.map批量数据转换
nums = [1,2,3,4]
res_map = list(map(lambda x: x*2, nums))
print(res_map) # [2,4,6,8]
# 2.filter筛选数据
res_filter = list(filter(lambda x: x%2==0, nums))
print(res_filter) # [2,4]
⚠️新手易错点
1. map不会自动修改原列表,产生全新迭代对象
2. filter传入的函数必须返回True/False
3. Python3中map/filter返回迭代器,不list转换无法直接查看全部数据
4. 逻辑复杂优先使用for循环;简单数据处理适合map、filter
🏖️今日小结
map负责批量转换元素,filter负责条件筛选元素。搭配lambda可以精简代码;如果逻辑过于复杂,直接使用for循环可读性更高。
#Python #Python自学 #编程入门 #零基础学编程 #每日编程打卡 #一天一个Python知识点