所以我有一个文本文件,其中保存了一个列表,我知道我可以使用其他一些对象序列化,但我只是尝试使用文本文件来解决原因。所以我有一个字符串变量,其中有一个列表,但是如何将字符串转回普通列表。这是我的代码
#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)
现在我需要将列表从字符串更改为普通列表。
答案 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]