[TOC]
1.lambda
Python 内置函数
描述
python 使用 lambda 来创建匿名函数。
语法
lambda 函数的语法只包含一个语句,如下:
1 | lambda [arg1 [,arg2,.....argn]]:expression |
注意
1 | lambda (x, y): x + y |
这样的使用在python3中已经被废弃了,会提示上面注释中的错误
那么元组tuple如何作为参数呢,will be translated into:
1 | lambda x_y: x_y[0] + x_y[1] |
2.map()
Python 内置函数
描述
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
语法
map() 函数语法:
1 | map(function, iterable, ...) |
参数
- function – 函数,有两个参数
- iterable – 一个或多个序列
返回值
Python 2.x 返回列表。
Python 3.x 返回迭代器。
注意
1 | def f(x, y): return (x, y) |
在python2中:
1 | map(f, l1, l2) |
在python3中:
1 | map(f, l1, l2) |
3.reduce()
描述
reduce() 函数会对参数序列中元素进行累积。
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
语法
reduce() 函数语法:
1 | reduce(function, iterable[, initializer]) |
参数
- function – 函数,有两个参数
- iterable – 可迭代对象
- initializer – 可选,初始参数
返回值
返回函数计算结果。
在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 fucntools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数:
1 | from functools import reduce |
实例:
1 | from functools import reduce |
输出结果为:
1 | 5050 |