我使用 eval()
将列表分配给 var:
eval('mylist = [1,2,3]')
但是当我运行它时,我得到了一个 SyntaxError。它出什么问题了?如果我不能在 eval()
中进行赋值,我该如何在运行时赋值一个 var。
最佳答案
对语句使用exec
:
>>> exec 'lis = [1,2,3]'
>>> lis
[1, 2, 3]
eval
仅适用于表达式,如 2*2
、4+5
等
eval
和 exec
如果字符串来自已知来源则没问题,但如果字符串来自未知来源(用户输入)则不要使用它们).
关于python - eval() 不在运行时分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17230005/