网站首页 > 基础教程 正文
说明
本文重点在于示例代码,在熟悉基本概念(map/reduce/filter/lambda)的基础上阅读最好
背景
函数式编程是一种编程范式,我们常见的是命令式编程,首先大概了解下概念:
命令式:冯诺依曼机的序列
函数式:基于λ演算
函数式编程一般有如下特点:
Referential transparency
No Side Effect
Currying
Closure
Higher-order function
Lazy evaluation
Lambda
进入正题,主要看看python函数式编程,几个高阶函数map/reduce/filter的使用
定义(python2)
sequence是一种泛型,包括list,tuple,string
map(function, sequence[, sequence, …]) -> list
1. map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回
reduce(function, sequence[, initial]) -> value
1. 把一个函数作用在一个序列上,reduce把结果继续和序列的下一个元素做累积计算
2. function接受两个参数
3. 返回值类型取决于function return
filter(function or None, sequence) -> list, tuple, or string
1. 如果是None,返回是True的元素
2. 返回和sequence相同的类型
示例
map/reduce/filter其实很简单,要熟练掌握,最好的办法就是code,示例代码包括map/reduce/filter使用的各个方面,重点地方已注释,认真看完code,一定可以掌握map/reduce/filter的
foo5涉及较多概念,如果理解上有困惑,可以先去看看这些概念,当然foo5和map/reduce/filter关系不大,可以暂时不看
猜你喜欢
- 2024-11-02 Python中map函数的奇淫技巧:优化你的编程体验
- 2024-11-02 python内置函数map/reduce/filter
- 2024-11-02 Python 内置函数与匿名函数 python匿名内部类
- 2024-11-02 第八篇:Python中函数介绍 python中的各种函数
- 2024-11-02 「每天3分钟学Python」Python中的 Map 和 Reduce
- 2024-11-02 Python中starmap有什么用的? python中start用法
- 2024-11-02 详解Python中的map、lambda和apply用法
- 2024-11-02 Python编程技巧:如何用Map, Filter, Reduce代替For循环?
- 2024-11-02 python lambda函数与map()、filter()、reduce()函数用法
- 2024-11-02 Python 函数式编程——map、reduce、filter及lambda匿名函数介绍
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)