标签:map 任务 lambda 使用 函数 map函数 lte 语法 序列
匿名函数
1,lambda的一般形式是关键字lambda后面跟一个或多个参数,紧跟一个冒号,以后是一个表达式。
2,lambda是一个表达式而不是一个语句。它能够出现在Python语法不允许def出现的地方。
3,作为表达式,lambda返回一个值(即一个新的函数)。lambda用来编写简单的函数,而def用来处理更强大的任务。
4,常用于为map()和filter()之类共同使用。
f = lambda x,y,z : x+y+z
print f(1,2,3)
g = lambda x,y=2,z=3 : x+y+z
print g(1,z=4,y=5)
输出结果为:
6
10
5,map函数可以在序列中映射函数进行操作。例如:
def inc(x):
return x+10
L = [1,2,3,4]
print map(inc,L)
print map((lambda x: x+10),L)
输出结果为:
[11, 12, 13, 14]
[11, 12, 13, 14]
6,列表解析可以实现map函数同样的功能,而且往往比map要快。例如:
print [x**2 for x in range(10)]
print map((lambda x: x**2), range(10))
输出结果为:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
7,列表解析比map更强大。例如:
print [x+y for x in range(5) if x%2 == 0 for y in range(10) if y%2 ==1]
输出结果为:
[1, 3, 5, 7, 9, 3, 5, 7, 9, 11, 5, 7, 9, 11, 13]
标签:map 任务 lambda 使用 函数 map函数 lte 语法 序列
原文地址:http://www.cnblogs.com/liang545621/p/7523537.html