python range 和 xrange

来源:互联网 发布:众意好医师软件 编辑:程序博客网 时间:2024/06/02 16:28

源于求阶乘
两种写法
写法一:

def fact(n=10):temp=1for x in range(1,n):temp=x*tempreturn temp

写法二:


def fact(n=10):temp=1for x in xrange(1,n):temp=x*tempreturn temp

写法一是得不到阶乘的结果的;查了下,发现 range 是立即生成一个 List,而 xrange 是每次取其中一个值,因此做循环不是用 xrange 比较合适.
另,还有个更 python的方法求阶乘

reduce(lambda x,y:x*y,range(1,10))



呵呵,极其优雅,简洁.这种写法简直帅呆了.

0 0
原创粉丝点击