On Fri, Mar 28, 2014 at 3:08 AM, Tim Chase <python.l...@tim.thechases.com> wrote: > So when I stumbled upon this horrific atrocity of language abuse and > scope leakage, I thought I'd share it. > > if [m for m in [regex.match(some_string)] if m]: > do_something(m) > > And presto, assignment in an if-statement.
And presto, it doesn't work in Python 3: >>> if [m for m in [5] if m]: print(m) Traceback (most recent call last): File "<pyshell#2>", line 2, in <module> print(m) NameError: name 'm' is not defined So definitely don't do it. :) ChrisA -- https://mail.python.org/mailman/listinfo/python-list