Martin v. Löwis wrote: >> I'd say that this explains why it would still make sense to let the code >> generator change >> "x in (a, b, c)" to "x == a or x == b or x == c", as long as a, b, and c are >> all integers. > > How often does that happen in real code?
don't know, but it happens: [EMAIL PROTECTED] Python-2.4]$ grep "if.*in *([0-9]" Lib/*.py Lib/BaseHTTPServer.py: if self.command != 'HEAD' and code >= 200 and code not in (204, 304): Lib/asyncore.py: if err in (0, EISCONN): Lib/mimify.py: if len(args) not in (0, 1, 2): Lib/sunau.py: if nchannels not in (1, 2, 4): Lib/sunau.py: if sampwidth not in (1, 2, 4): Lib/urllib2.py: if code not in (200, 206): Lib/urllib2.py: if (code in (301, 302, 303, 307) and m in ("GET", "HEAD") Lib/whichdb.py: if magic in (0x00061561, 0x61150600): Lib/whichdb.py: if magic in (0x00061561, 0x61150600): [EMAIL PROTECTED] Python-2.4]$ grep "if.*in *\[[0-9]" Lib/*.py Lib/decimal.py: if value[0] not in [0,1]: Lib/smtplib.py: if code not in [235, 503]: judging from the standard library, "string in string tuple/list" is a lot more common. </F> _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com