用python仿写xrange的简单介绍

发布时间:2022-11-09

本文目录一览:

  1. python中xrange用法分析
  2. Python中Range和XRange的区别
  3. [python中xrange和range的异同 CiNiao's blog](#python中xrange和range的异同 CiNiao)

python中xrange用法分析

python中xrange用法分析 本文实例讲述了python中xrange用法。分享给大家供大家参考。具体如下: 先来看如下示例:

x = xrange(0,8)
print x
xrange(8)
print x[0]
print x[7]
7
print x[8]
Traceback (most recent call last):
File "stdin", line 1, in module
IndexError: xrange object index out of range
x = range(0,8)
print x
[0, 1, 2, 3, 4, 5, 6, 7]
print x[0]
print x[8]
Traceback (most recent call last):
File "stdin", line 1, in module
IndexError: list index out of range
range([start,] stop [,step])-list of integers

range()返回一个递增或递减的数字列表,列表的元素值由三个参数决定:

  • start表示列表开始的值,默认为“0”。
  • stop表示列表结束的值,该参数不可缺少。
  • 参数step表示步长,默认值为“1”。 range()返回的是一个递增或递减的数字列表。 xrange是一个类,返回的是一个xrange对象。使用xrange()进行遍历,每次遍历只返回一个值。range()返回的是一个列表,一次性计算并返回所有的值。因此,xrange()的执行效率要高于range()。 希望本文所述对大家的Python程序设计有所帮助。

Python中Range和XRange的区别

在python中 range函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个列表。 例子: xrange函数说明:xrange用法与range完全相同,所不同的是生成的不是一个list对象,而是一个生成器。 例子: 但是要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用。 在循环中尽量使用xrange这样性能可以得到提高,除非要返回一个列表。 由上面的示例可以知道:要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。 xrangerange这两个基本上都是在循环的时候用。 这两个输出的结果都是一样的,实际上有很多不同,range会直接生成一个list对象: 输出结果: 而xrange则不会直接生成一个list,而是每次调用返回其中的一个值: 输出结果: 总结: 所以xrange做循环的性能比range好,尤其是返回很大的时候。尽量用xrange吧,除非你是要返回一个列表。

python中xrange和range的异同 CiNiao's blog

Python2中range()生成的是一个list而xrange()则生成一个generator,两者区别比较大,比如说:

for i in range(9999999999999999999999999999999999999999999999999999):
    print i

内存就直接爆掉,而使用xrange则不会出问题,因为xrange是每次循环,i通过表达式推出,并不会把整张列表直接生成。 注:Python3中去掉xrange()功能由range()代替。