xrange and 今日单词

xrange([start], stop[, step])
This function is very similar to range(), but returns an “xrange object” instead of a list. This is an opaque sequence type which yields the same values as the corresponding list, without actually storing them all simultaneously. The advantage of xrange() over range() is minimal (since xrange() still has to create the values when asked for them) except when a very large range is used on a memory-starved machine or when all of the range’s elements are never used (such as when the loop is usually terminated with break).

>>> print range(5)
[0, 1, 2, 3, 4]
>>> print xrange(5)
xrange(5)

range(10000)将直接展开为一个含有10000个元素的列表,需占用较多资源。
xrange(10000)将生成一个迭代器,对其遍历时都是遍历到某一个元素,这个元素才真正计算出来放到内存中。

http://stackoverflow.com/questions/94935/what-is-the-difference-between-range-and-xrange

conservative    保守的
narcissistic numbers    水仙花数
holy grail  圣杯


猜你喜欢

转载自wwwjjq.iteye.com/blog/1638881