Joshua Kugler wrote: > python.jiang wrote: > >> hello friends, the question had show bellow, any friend can tell me why. >> thanks. >> >> list: >> def test(): >> exec "import sys" >> a=range(15) >> b=[13,3] >> c=filter(lambda x: x not in b,a) >> return c >> print test() >> >> run result: >> File "a.py", line 2 >> exec "import sys" >> SyntaxError: unqualified exec is not allowed in function 'test' it >> contains a nested function with free variables > > I have no reason why you're getting the error, but there is no reason to try > to exec an import. Just use > > import sys > > Hope that helps. > > j >
Don't exec "import sys" just do import sys. Also. a=range(15) b=[13,3] c=filter(lambda x: x not in b,a) is just: c=[x for x in xrange(15) if x not in [13,3]] IMHO this is much easier to read. -Larry -- http://mail.python.org/mailman/listinfo/python-list