字符串格式的列表列表,想要转换为列表列表(Python)

时间:2018-02-14 23:51:01

标签: python string list

我收到的消息是列表列表,但在Python中被识别为字符串。我无法弄清楚如何让Python将字符串解释为列表列表,是否有一种简单的方法可以做到这一点?我正在处理的格式示例如下所示:

>>soc = '[["hello","world"],["foo","bar"]]'
>>type(soc)
<type 'str'>

我想将此字符串转换为未更改的列表列表:

>>soc
[["hello","world"],["foo","bar"]]
>>type(soc)
<type 'list'>

我感谢所提供的任何帮助,谢谢!

3 个答案:

答案 0 :(得分:0)

使用ast.literal_eval

import ast

soc = '[["hello","world"],["foo","bar"]]'

ast.literal_eval(soc)

# [['hello', 'world'], ['foo', 'bar']]

答案 1 :(得分:0)

您可以使用json.loads

>>> import json
>>> json.loads(soc)
[['hello', 'world'], ['foo', 'bar']]

答案 2 :(得分:0)

为什么不是内置eval函数

soc = eval('[["hello","world"],["foo","bar"]]')
type(soc)
Out[5]: list

soc
Out[6]: [['hello', 'world'], ['foo', 'bar']]

soc[1][0]
Out[7]: 'foo'

现在对于安全性的预期反对意见......