I use eval() to assign a list to a var:
eval('mylist = [1,2,3]')
but when I run it , I got a SyntaxError. What's wrong with it? If I cannot do assignment in the eval(), how do I assign a var in the runtime.
Use exec for statements:
>>> exec 'lis = [1,2,3]'
>>> lis
[1, 2, 3]
eval works only on expressions, like 2*2,4+5 etc
eval and exec are okay if the string is coming from a known source, but don't use them if the string is coming from an unknown source(user input).
exec, it can be dangerous" here
locals(),globals(), or for the really daring, a dictionary.setattr(<your object>,'mylist',[1,2,3])<your object>would beselfif this is in__init__for example