本帖最后由 素简生香 于 2017-11-17 11:05 编辑
【 效率利器 map 结合 lambda 】 map是 python 系统内建的函数,用来批量的对列表元素进行操作 lambda表达式是 python 匿名函数的语法表达,用来传递较简单的算法 函数map()的原型为map(function,sequence[,sequence ,...])-> list lambda 表达式的语法为 lambda para : return expression 看下面的两段样例代码 # sample code 1 n = 10 alist = [ m for m in range(n) ] def calc(x): return (n-x) if x>n//2 else x blist = map( calc, alist ) print "alist:{} \n blist:{}".format(alist,blist) # sample code 2 clist = map( lambda x: n-x if x>n//2 else x, [m for m in range(n)] ) print "clist:{}".format(clist) 显然 sample code 2的代码比sample code 1的精简太多,lambda 表达式等效 calc函数,只不过匿名而已。
|