python中的高阶函数

1、什么是高阶函数?

高阶函数是指将函数作为参数传入。就是高阶函数

2、高阶函数有哪些?

map 映射函数

python 复制代码
>>> print(list(map(lambda x:x*x,range(1,11))))
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> print(list(map(lambda x:str(x),[1,2,3,4,5])))
['1', '2', '3', '4', '5']
>>>

filter 过滤函数

python 复制代码
>>> print(list(filter(lambda x:x%3==0,range(1,101))))
[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
>>> print(list(filter(lambda x:x %2 == 0,range(1,11))))
[2, 4, 6, 8, 10]
>>> print(list(filter(lambda x:x%2,range(1,11))))
[1, 3, 5, 7, 9]
>>> 

reduce 函数累积求值(需要导入from functools import reduce)

python 复制代码
>>> n = [1,2,3,4,5,6,7]
>>> from functools import reduce
>>> print(reduce(lambda n,y:n*y,n))
5040

sorted 排序函数

python 复制代码
>>> list1=[7, -8, 5, 4, 0, -2, -5]
>>> print(sorted(list1,key=lambda x:max(list1)-x+1 if x <=0 else x))
[4, 5, 7, 0, -2, -5, -8]
>>> print(list(sorted(list1,key=lambda x:(x<=0,abs(x)))))
[4, 5, 7, 0, -2, -5, -8]
>>> 
>>> list1 = ['bob','about','Zoo','Credit']
>>> print(sorted(list1,key=lambda x:x.lower()))
['about', 'bob', 'Credit', 'Zoo']
相关推荐
前端Hardy几秒前
别再无脑用 `JSON.parse()` 了!这个安全漏洞你可能每天都在触发
前端·javascript·vue.js
前端Hardy2 分钟前
别再让 `console.log` 上线了!它正在悄悄拖垮你的生产系统
前端·javascript·vue.js
青青家的小灰灰6 分钟前
从入门到精通:Vue3 ref vs reactive 最佳实践与底层原理
前端·vue.js·面试
用户8356290780517 分钟前
在 PowerPoint 中用 Python 添加和定制形状的完整教程
后端·python
OpenTiny社区18 分钟前
我的新同事是个AI:支持skill后,它用TinyVue搭项目还挺溜!
前端·vue.js·ai编程
心在飞扬27 分钟前
MultiVector 多向量检索
前端·后端
用户390513321928831 分钟前
async 函数返回的 Promise 状态何时变为 resolved
前端
Maori31635 分钟前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
李剑一38 分钟前
大屏天气展示太普通?视觉升级!用 Canvas 做动态天气遮罩,雷阵雨效果直接封神
前端·vue.js·canvas
Lee川1 小时前
现代Web开发中的CSS继承、Flexbox布局与LocalStorage交互:从文档解析到实践应用
前端·css