range和xrange的比较
range
函数用法:
range(stop)
range(start,stop[,step])
函数申明:
这是一个建立包括数列的列表的通用函数。它最常用于for轮回。参数必需为一般的整数。假如step参数省略,则默以为1。假如start参数省略,则默以为0。该函数的完全情势返回一个整数列表[start, start + step, start + 2 * step, …]。假如step为正,则末了一个元素start + i * step最大且小于stop;假如step为负,则末了一个元素start + i * step最小且大于stop。step必需不能为零(否则会激发ValueError)。
示例
xrange
函数用法:
xrange(stop)
xrange(start,stop[,step])
函数申明:
该函数与range()十分相似,但返回的是xrange对象范例而不是列表。这是一个惰性的序列范例,它生成与对应的列表雷同的值,但不会真正同时一同存储它们。xrange()比拟range()的上风不大(由于xrange()依然必需建立须要的值),除非在内存慌张的机械上运用一个非常大的range或这range的一切元素从不会运用(比方当轮回经常被break停止)。
xrange对象范例申明
xrange范例是不可变的序列,一般用于轮回。xrange范例的优点是xrange对象一直占用雷同数目的内存,不管它示意的局限的大小。但它没有一直一致的机能上风。
xRange对象的行动很少:它们仅支撑索引、迭代和len()函数。
示例
由上面的示例能够看出:range()与xrange()要领完全雷同,基本上都是在轮回的时刻用,而且二者输出的效果都一样,二者最大的不同点在于range()会直接生成一个list对象;xrange()生成的则是xrange对象而不是list对象,每次挪用返回个中的值。
以上就是python相对于range应当更倾向于有用xrange吗的细致内容,更多请关注ki4网别的相干文章!