reduce (lambda x,y:x*y ,xrange(1,1001))
实现1000的阶乘,简约!
reduce(function, iterable[,initializer])
reduce(lambdax,y:x+y,[1,2,3,4,5]) calculates((((1+2)+3)+4)+5).
参数一:一个两参数的函数,会被循环调用直到参数二的列表为空
参数二:一个迭代器,从左到右,每两个迭代器指向的对象会被丢入参数一的函数中,然后参数一的函数的返回值会被插入参数二的头部
lambda
匿名函数如lambda x,y:x*y 中的x,y表示参数,x*y表示函数内部的表达式
xrange([start],stop[,step]).
这个xrange()和range()很相似,不过range()返回的是list数组,xrange()返回的是type,类似于迭代器
xrange()不会一下子把所有的内容放到内存中,用到再申请。
如:
>>> xrange(1,4)
xrange(1, 4)
>>> range(1,4)
[1, 2, 3]
在在大数据处理和循环中break的时候,xrange()的效率好的不是一星半点。以后再用range()我就剁手。