从字符串中提取列表

vij*_*ave 5 python python-2.7

我正在使用 python 并面临从具有该列表的字符串中提取特定列表对象的问题。

这是我的字符串中的列表对象。

input = "[[1,2,3],[c,4,r]]"
Run Code Online (Sandbox Code Playgroud)

我需要这样的输出。

output = [[1,2,3],[c,4,r]]
Run Code Online (Sandbox Code Playgroud)

有什么办法可以做到这一点吗?

Jos*_*ica 6

使用ast.literal_eval

Python 2.7.10 (default, Jul 14 2015, 19:46:27)
[GCC 4.8.2] on linux
   import ast
   input = "[[1,2,3],['c',4,'r']]"
   output = ast.literal_eval(input)
   output
=> [[1, 2, 3], ['c', 4, 'r']]
Run Code Online (Sandbox Code Playgroud)

如果您实际上意味着 forcr只是变量的当前值cr而不是文字'c''r',则需要使用eval,这是相当不安全的,但其他方面的工作方式相同。