What is the difference between range and xrange functions in Python 2.X?

后端 未结 28 2080
深忆病人
深忆病人 2020-11-22 03:14

Apparently xrange is faster but I have no idea why it\'s faster (and no proof besides the anecdotal so far that it is faster) or what besides that is different about

28条回答
  •  -上瘾入骨i
    2020-11-22 04:16

    It is for optimization reasons.

    range() will create a list of values from start to end (0 .. 20 in your example). This will become an expensive operation on very large ranges.

    xrange() on the other hand is much more optimised. it will only compute the next value when needed (via an xrange sequence object) and does not create a list of all values like range() does.

提交回复
热议问题