在Python中使用range()和xrange()之间的差异

时间:2012-01-27 07:57:11

标签: python

  

可能重复:
  What is the difference between range and xrange?

目前我正在学习Python。我发现在使用for循环时有两种表示范围的方法,即range()和xrange()。任何人都可以给我一些关于这两种方式之间差异的想法,以及它们各自的适用场景分别是什么?谢谢!

1 个答案:

答案 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.

online here

对战:

% 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