map(lambda x: x*x,[1,2])
[1, 4]
这里lambda是匿名函数,匿名函数的作用就是不用定义函数名.
格式:lambda 参数: exp
关于map函数,其实用的并不是太多,因为可以用列表解析来写,例如上面的等价于[x*x for x in range(1,3)]
>>> reduce(lambda x,y: x+y,[1,2,3,4])
10
假设匿名函数名为a,那么上面就等价于 a(a(a(1,2),3),4)
def cmp_ignore_case(s1, s2):
u1 = s1.upper()
u2 = s2.upper()
if u1 < u2:
return -1
if u1 > u2:
return 1
return 0
>>> sorted([‘about‘, ‘bob‘, ‘Zoo‘, ‘Credit‘], cmp_ignore_case)
[‘about‘, ‘bob‘, ‘Credit‘, ‘Zoo‘]
def my_map( f, l ):
print [ f(x) for x in l ]
def f1( x ):
return x * x
my_map( f1, [ 1, 2, 3, 4, 5 ] )
原文:http://www.cnblogs.com/aaa103439/p/3851242.html