Fredrik Lundh wrote: > > when in doubt, ask the compiler: > > def code(x): > if x in ("abc", "def", "xyz"): > doStuff() > elif x in ("pqr", "tuv", "123"): > doOtherStuff() > > import dis > dis.dis(code) > > prints: > > 2 0 LOAD_FAST 0 (x) > 3 LOAD_CONST 7 (('abc', 'def', 'xyz')) ... > > so the answer is "yes, in this specific case".
Part of the specific case means it's Python 2.4 or later. In 2.3 it looks like this: 2 0 LOAD_GLOBAL 0 (x) 3 LOAD_CONST 1 ('abc') 6 LOAD_CONST 2 ('def') 9 LOAD_CONST 3 ('xyz') 12 BUILD_TUPLE 3 15 COMPARE_OP 6 (in) 18 JUMP_IF_FALSE 11 (to 32) 21 POP_TOP so in this case (Python 2.3), the answer is no. n -- http://mail.python.org/mailman/listinfo/python-list