代码拉取完成,页面将自动刷新
## 描述
xrange() 函数用法与range
完全相同,所不同的是生成的不是一个数组,而是一个生成器。
xrange 语法:
xrange(stop)
xrange(start, stop[, step])
参数说明:
xrange(5)
等价于 xrange(0, 5)
xrange(0, 5)
是[0, 1, 2, 3, 4]
没有 5
xrange(0, 5) 等价于 xrange(0, 5, 1)
返回生成器。
以下实例展示了 xrange 的使用方法:
>>>xrange(8)
# xrange(8)
list(xrange(8))
# [0, 1, 2, 3, 4, 5, 6, 7]
xrange(3,5)
# xrange(3, 5)
list(xrange(3,5))
# [3,4]
range(3,5)
# [3,4]
xrange(0,6,2)
# xrange(0.6.2)
list(xrange(0,6,2))
# [0, 2, 4]
由上面的示例可以知道: 要生成很大的数字序列的时候,用xrange
会比range
性能优很多,因为不需要一上来就开辟一块很大的内存空间 ,这两个基本上都是在循环的时候用:
for i in range(0,100):
print(i)
for i in xrange(0,100):
print(i)
这两个输出的结果都是一样的,实际上有很多不同,range
会直接生成一个list对象:
a = range(0,100)
print(type(a))
# <type 'list'>
print(a)
# ....
print(a[0],a[1])
# 0 1
而xrange
则不会直接生成一个list
,而是每次调用返回其中的一个值:
a = xrange(0,100)
print(type(a))
# <type 'xrange'>
print(a)
# xrange(100)
print(a[0],a[1])
# 0 1
所以 xrange
做循环的性能比range
好 ,尤其是返回很大的时候,尽量用xrange
吧,除非你是要返回一个列表。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。