map(lambda x: x*x,[1,2])
[1, 4]
這裏lambda是匿名函數,匿名函數的做用就是不用定義函數名.
格式:lambda 參數: exp
關於map函數,其實用的並非太多,由於能夠用列表解析來寫,例如上面的等價於[x*x for x in range(1,3)]python
>>> 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 ] )