对于这两个好像功能都差不多,这两个经常会被搞混,所以今天一定要把这个完全弄清楚。
首先我们看看range: range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。注意这里是生成一个序列。
xrange的用法与range相同,即xrange([start,] stop[, step])根据start与stop指定的范围以及step设定的步长,他所不同的是xrange并不是生成序列,而是作为一个生成器。即他的数据生成一个取出一个。
所以相对来说,xrange比range性能优化很多,因为他不需要一下子开辟一块很大的内存,特别是数据量比较大的时候。
注意:
1、xrange和range这两个基本是使用在循环的时候。
2、 当需要输出一个列表的时候,就必须要使用range了。