胡海华分享 http://blog.sciencenet.cn/u/jgshuhaihua

博文

Range和XRange的区别

已有 3935 次阅读 2010-10-6 00:32 |个人分类:Python学习笔记|系统分类:科研笔记

在Range的方法中,它会生成一个list的对象,但是在XRange中,它生成的却是一个xrange的对象,当返回的东西不是很大的时候,或者在一个循环里,基本上都是从头查到底的情况下,这两个方法的效率差不多。但是,当返回的东西很大,或者循环中常常会被Break出来的话,还是建议使用XRange,这样既省空间,又会提高效率。

下面举个例子:

如果使用range函数,执行下面的语句,将会得到后面的结果:

>>> a = range(0,10)
>>> print type(a)
<type 'list'>
>>> print a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> print a[0], a[1]
0 1

但是,将开始的range用xrange替换,将会得到不同的结果:

>>> a = xrange(0,10)
>>> print type(a)
<type 'xrange'>
>>> print a
xrange(100)
>>> print a[0], a[1]
0 1

 这里可以很直接的看到它们的不同点,虽然a[0], a[1]返回的值是相同的。所以,以后coding的时候还是尽可能使用xrange了



https://blog.sciencenet.cn/blog-243747-370068.html

上一篇:Python学习笔记1:排序
下一篇:连接操作符(+)与extend()方法
收藏 IP: .*| 热度|

0

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-24 03:46

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部