python中range()与xrange()用法分析
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例讲述了python中range()与xrange()用法。分享给大家供大家参考,具体如下:据说range比xrange开销要大,原因...
本文实例讲述了python中range()与xrange()用法。分享给大家供大家参考,具体如下:
据说range比xrange开销要大,原因是range会直接生成一个list对象,而xrange每次调用返回其中的一个值(参考:http://www.jb51.net/article/50072.htm)。于是好奇做了个小小的测试,比较两个函数性能到底有多大差别。
(1)测试代码
#!/usr/bin/env python from datetime import * def test_range(): c1=0 t1 = datetime.now() for i in range(0,100000): c1 += 1 print datetime.now()-t1 def test_xrange(): c1=0 t1 = datetime.now() for i in xrange(0,100000): c1 += 1 print datetime.now()-t1 if __name__ == '__main__': test_range() test_xrange()
(2)运行结果
(3)小结
从上图的三次运行结果可以看出,range在相同计算量下用时比xrange多了70%左右。另外,在不同的计算量情况下,用时基本也维持在这个比例。因此,如果并不需要返回list对象的话,xrange会是个好选择。
希望本文所述对大家Python程序设计有所帮助。