开发者社区> 陈骄> 正文

python学习之旅(map、filter)

简介: python学习之旅(map、filter)
+关注继续查看

什么叫高阶函数

接收函数作为参数,或者将函数作为返回值的函数是高阶函数 ,满足二者其一即为高阶函数。


当我们使用一个函数作为参数时,实际上是将指定的代码传递进了目标函数。


常见内置高阶函数

map

根据提供的函数处理序列中的元素,处理完成之后返回一个迭代器对象,map的第一参数为一个函数 ,后续的参数会传给这个函数。

num = [*range(1,6)]
# 需求:将num中所有元素都乘以2返回


普通实现方法

def fn(x):
    new_num = []
    for i in x:
        new_num.append(i * 2)
    return new_num
list2 = fn(num)
print(list2)
返回结果
[2, 4, 6, 8, 10]

利用map函数实现

def fn1(x):
    return x * 2
list3 = list(map(fn1, num))  # map结果返回的是迭代器,可以转换为列表
print(list3)
[2, 4, 6, 8, 10]

使用map结合lamda实现

list4 = list(map(lambda n: n * 2, num ))
print(list4)
[2, 4, 6, 8, 10]

filter

filter()可以从序列中过滤出符合条件的元素,保存到一个新的序列中。

参数:

1.函数,根据该函数来过滤序列(可迭代的结构)

2.需要过滤的序列(可迭代的结构)

返回值:

过滤后的新序列(可迭代的结构)

num = [*range(1,6)]
# 需求:将num中所有奇数取出来组成一个新的list
def fn(x):
    if x % 2: # 除以二等于0的是偶数,就是假
        return x
list5 = list(filter(fn, num))  # 返回的也是迭代器,可以转换成列表,如果不用filter的话就需要for来循环处理
print(list5)
# 返回值
"D:\PyCharm 2021.3.3\dtest\aliang-py\Scripts\python.exe" "D:/PyCharm 2021.3.3/aliang-py/装饰器.py"
[1, 3, 5]

同样,也可以结合lamda实现

list6 = list(filter(lambda x:x % 2 != 0, num))
print(list6)


版权声明:本文内容由便宜云服务器实名注册用户自发贡献,版权归原作者所有,便宜云服务器开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《便宜云服务器开发者社区用户服务协议》和《便宜云服务器开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python编程 字典创建map与Zip
Python编程 字典创建map与Zip
22 0
Python 之 Pandas 处理字符串和apply() 函数、applymap() 函数、map() 函数详解
Python 之 Pandas 处理字符串和apply() 函数、applymap() 函数、map() 函数详解
30 0
Python学习笔记(九) map、zip、filter、reduce
这篇文章主要介绍 Python 中几个常用的内置函数,用好这几个函数可以让自己的代码更加 Pythonic 哦
28 0
Python编程:list列表的几个高阶函数map、filter、reduce
Python编程:list列表的几个高阶函数map、filter、reduce
26 0
python匿名函数与map方法
python匿名函数与map方法
69 0
【Python基础】内置函数map详解
【Python基础】内置函数map详解
57 0
Python中map函数的解释和可视化
Python中map函数的解释和可视化
84 0
【Python零基础入门篇 · 15】:内置函数二【min()和max函数、zip()拉链函数、map()映射函数、reduce()】
【Python零基础入门篇 · 15】:内置函数二【min()和max函数、zip()拉链函数、map()映射函数、reduce()】
41 0
【Python零基础入门篇 · 2】:掌握各种运算符和变量、input()输入输出、映射函数map()结合input()和split()函数实现多值输入
【Python零基础入门篇 · 2】:掌握各种运算符和变量、input()输入输出、映射函数map()结合input()和split()函数实现多值输入
35 0
【Python零基础入门篇 · 11】:匿名函数lambda、内置函数一、内置函数二【min()和max函数、zip()拉链函数、map()映射函数、reduce()】
【Python零基础入门篇 · 11】:匿名函数lambda、内置函数一、内置函数二【min()和max函数、zip()拉链函数、map()映射函数、reduce()】
36 0
+关注
陈骄
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
双剑合璧-Python和大数据计算平台的结合
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多
http://www.vxiaotou.com