Python xrange与range的区别

xrange与range在Python中都用于生成数字序列,但xrange是生成器,不立即生成列表,适合大范围数字,提高性能。在Python3中,range取代了xrange,具备更强大的功能并支持属性访问和切片操作。

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


xrange 与 range


xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器。

这里写图片描述

要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。
xrange 和 range 这两个基本上都是在循环的时候用。

for i in range(0, 100):
    print i

for i in xrange(0, 100):
    print i 

range会直接生成一个list对象,而xrange则不会直接生成一个list,而是每次调用返回其中的一个值.

所以xrange做循环的性能比range好,尤其是返回很大的时候。尽量用xrange吧,除非你是要返回一个列表。


python3中的 range


range()是python的内置函数,用于创建整数的列表,可以生成递增或者递减的数列。range也是python的内置函数,用于创造xrange对象用于迭代。
在python3中,range()这种实现被移除了,保留了xrange()的实现,且将xrange()重新命名成range()。
在python3中,range object在python里增加了attributes,’count’,’index’,’start’,’step’,’stop’,且能支持slicing。python3的range()在xrange()的基础上变的更强大了


参考文献


Python xrange与range的区别

python3为什么取消了range生成器?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值