python range()和xrange()

本文详细介绍了Python2中range()与xrange()的区别,包括它们的语法、使用示例及内存占用特点。同时,也讲解了Python3中range()函数的功能与用法,并说明了如何生成列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在python2中:

range()用来生成一个真实的列表,语法如下:

range(start,end,step)
start是起始值(包含start本身),默认值是0
end是终值(不包含end本身),
step是步长,默认值是1,step取值不能为0
举例如下:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(3,10)
[3, 4, 5, 6, 7, 8, 9]
>>> range(4,12,2)
[4, 6, 8, 10]

>>> for i in range(10):
...     print i,
... 
0 1 2 3 4 5 6 7 8 9

>>> for i in range(10):
...     print i
... 
0
1
2
3
4
5
6
7
8
9

python2中,range()与xrange()异同如下图:

显然,xrange()更节省内存,它的内存处理上效率更高,更适合处理大数据量

xrange()举例如下:

>>> xrange(10)
xrange(10)
>>> xrange(3,10)
xrange(3, 10)
>>> xrange(4,12,2)
xrange(4, 12, 2)
>>> for i in xrange(10):
...     print i,
... 
0 1 2 3 4 5 6 7 8 9
>>> for i in xrange(10):
...     print i
... 
0
1
2
3
4
5
6
7
8
9


在python3中:

已经没有xrange()函数了,它使用的是range()函数,python3中range()函数与python2中的xrange()函数功能一致

举例如下:
>>> xrange()
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    xrange()
NameError: name 'xrange' is not defined
>>> range(10)
range(0, 10)
>>> range(2,12,2)
range(2, 12, 2)
>>> for i in range(2,12,2):
print (i)



2
4
6
8
10
>>> for i in range(2,12,2):
print(i,end=' ')



2 4 6 8 10 


python2中range()函数,可产生一个列表,而在python3中,如何产生列表呢?在python3中,要获得一个真正的列表,需要显式调用,如下
>>> range(10)
range(0, 10)
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值