我需要将字符串转换为python 3中的列表,我该怎么做?

时间:2015-04-20 19:19:27

标签: python python-3.x

所以我有一个文本文件,其中保存了一个列表,我知道我可以使用其他一些对象序列化,但我只是尝试使用文本文件来解决原因。所以我有一个字符串变量,其中有一个列表,但是如何将字符串转回普通列表。这是我的代码

    #the normal list
    list1 = [1,2,3]

    #changing the list to a string so that it can be written to a text file
    str_list = str(list1)

现在我需要将列表从字符串更改为普通列表。

2 个答案:

答案 0 :(得分:3)

您可以将ast模块与literal_eval功能一起使用:

import ast
l = ast.literal_eval(s)

json模块(警告!它仅适用于字符串表示的某些子集,例如数字列表 - 您给出的示例):

import json
l = json.loads(s)

答案 1 :(得分:2)

您可以使用ast.literal_eval

>>> s="[1,2,3]"
>>> from ast import literal_eval
>>> literal_eval(s)
[1, 2, 3]