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: a = range(5) b = range(5) a==b # True! c = xrange(5) d = xrange(5) c==d # False! and various other more arcane things, but do these actually happen in real life? Alan -- Defendit numerus -- http://mail.python.org/mailman/listinfo/python-list