码迷,mamicode.com
首页 > 编程语言 > 详细

Python的range和xrange

时间:2018-04-26 12:27:27      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:不同   step   range   除了   范围   功能   class   lis   一个   

range

函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。

range示例:

>>> range(6)
[0, 1, 2, 3, 4, 5]
>>> range(0,6,2)
[0, 2, 4]

 

xrange

函数说明:语法上和range完全相同,所不同的是生成的不是一个数组,而是一个生成器。
xrange示例: 

>>> xrange(6)
xrange(6)
>>> list(xrange(6))
[0, 1, 2, 3, 4, 5]
>>> xrange(0,6,2)
xrange(0, 6, 2)
>>> list(xrange(0,6,2))
[0, 2, 4]

 

range和xrange都在循环时用的比较多,下面来分析一下他们在循环里面的各自表现:

如果循环时用range,由上面结果我们也可以看出,上来就会生成一个数组。若是元素个数少还可以接受,但是如果元素个数非常多,那岂不是要开辟很大的内存来存放这个数组?这对让内存空间亚历山大呀。

如果使用xrange,xrange返回的是一个生成器,一边循环一边计算,每次只返回一个值,这样就不必开辟这么大的内存空间了。

因此,在循环里尽量使用xrange吧,随着元素个数增多,xrange性能要比range好的多。

 

注意,在python3.x中,xrange被废除了,range功能跟xrange相同。

Python的range和xrange

标签:不同   step   range   除了   范围   功能   class   lis   一个   

原文地址:https://www.cnblogs.com/ralap7/p/8949878.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!