On Tue, Apr 8, 2008 at 7:25 AM, Anand Balachandran Pillai <[EMAIL PROTECTED]> wrote: > Hi, > > There seems to be inconsistency in the way the new range(...) > type implements equality and inequality operators. > > In Python 2.x, range(...) of course returns lists and when you > equate lhs of two range(...) functions over the same range, you > get True, since we are comparing equal lists. > > Python 2.5.1 (r251:54863, Sep 6 2007, 17:27:08) > [GCC 4.1.1 20061011 (Red Hat 4.1.1-30)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> range(5,10)==range(5,10) > True > >>> > > In Py3k, however I see the following behavior. > Python 3.0a4+ (py3k:62126, Apr 3 2008, 16:28:40) > [GCC 4.1.2 20070626 (Red Hat 4.1.2-13)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> range(5,10)==range(5,10) > False > >>> r1=range(5,10) > >>> r2=range(5,10) > >>> r1==r2 > False > >>> r1 != r2 > True > > Won't this be quite confusing for people who carry forward their > code from 2.x to 3.0 ?
People carrying code from 2.x to 3.0 should be using xrange, not range:: ActivePython 2.5.1.1 (ActiveState Software Inc.) based on Python 2.5.1 (r251:54863, May 1 2007, 17:47:05) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> xrange(5, 10) == xrange(5, 10) False Steve -- I'm not *in*-sane. Indeed, I am so far *out* of sane that you appear a tiny blip on the distant coast of sanity. --- Bucky Katt, Get Fuzzy _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com