Py学习  »  Ev. Kounis  »  全部回复
回复总数  1

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]) 相反,你会看到。