Alan Morgan wrote:
> In article <[EMAIL PROTECTED]>,
> Giovanni Bajo <[EMAIL PROTECTED]> wrote:
>>Steve R. Hastings wrote:
>>
>>>> in Python 2.X, range is defined to return a list.  if you start
>>>> returning something else, you'll break stuff.
>>>
>>> Perhaps I'm mistaken here, but I don't see how this optimization could
>>> possibly break anything.
>>
>>Because you assume that the only use-case of range() is within a for-loop.
>>range() is a builtin function that can be used in any Python expression. For
>>instance:
>>
>>RED, GREEN, BLUE, WHITE, BLACK = range(5)
> 
> Hmmm, this worked fine when I used xrange as well.  Am I missing something?
> Obviously there *are* differences, viz:

Just _look_ at the objects:

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

range is giving you a real list, while xrange is giving you an xrange object.
Have you tried to slice an xrange object? Or using .append on it?

Georg
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to