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: [fredrik at brain 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): [fredrik at brain 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>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4