Почему в Python (2.7.2)
import dis
dis.dis("i in (2, 3)")
работает так, как ожидалось, тогда как
import dis
dis.dis("i in [2, 3]")
поднимает:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dis.py", line 45, in dis
disassemble_string(x)
File "/usr/lib/python2.7/dis.py", line 112, in disassemble_string
labels = findlabels(code)
File "/usr/lib/python2.7/dis.py", line 166, in findlabels
oparg = ord(code[i]) + ord(code[i+1])*256
IndexError: string index out of range
Обратите внимание, что это не влияет на Python3.
dis.dis("a = [2, 3]; i in a")
работает нормально - person San4ez   schedule 07.05.2012