eval
不安全,因为它不运行任何
背景
检查输入。使用
literal_eval
来自内置模块
ast
相反。你可以写:
from ast import literal_eval as leval
l = '[[1],[2]]'
result = leval(l)
print(result) # -> [[1], [2]]
print(result[0]) # -> [1]
正如@bro grammer指出的那样,您的代码的问题在于您假定
埃瓦
作品
到位
当你这样做的时候
eval(l)
l
已修改。
但这不是它的工作原理
.
评价
返回结果并将其分配给
result
在你的代码中。试着去做
print(result[0])
相反,你会看到。