目前我正在学习Python。我发现在使用for循环时有两种表示范围的方法,即range()和xrange()。任何人都可以给我一些关于这两种方式之间差异的想法,以及它们各自的适用场景分别是什么?谢谢!
答案 0 :(得分:4)
pydoc
是你的朋友!
% pydoc range
Help on built-in function range in module __builtin__:
range(...)
range([start,] stop[, step]) -> list of integers
Return a list containing an arithmetic progression of integers.
range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.
When step is given, it specifies the increment (or decrement).
For example, range(4) returns [0, 1, 2, 3]. The end point is omitted!
These are exactly the valid indices for a list of 4 elements.
对战:
% pydoc xrange
Help on class xrange in module __builtin__:
class xrange(object)
| xrange([start,] stop[, step]) -> xrange object
|
| Like range(), but instead of returning a list, returns an object that
| generates the numbers in the range on demand. For looping, this is
| slightly faster than range() and more memory efficient.
另外online there!