python字符串之后是否可以转换回去

比如a = [1,2,3,4]

str(a) = "[1,2,3,4]"

我知道python的isdigit类似的方法可以测试数字的, 但仅限于数字

请问有没有一种方法能够让各个类型使用str()之后返回原类型

出于安全考虑,对字符串进行类型转换的时候,建议使用ast.literal_eval(),参考这篇博客,https://blog.csdn.net/xili2532/article/details/115393854

import ast
a = [1,2,3,4]
s=str(a)
ori=ast.literal_eval(s)
print(ori,type(ori))

 

是指的将str(a)再转换成list吗 可以用下面方法:

a = [1,2,3,4]
lis= eval(str(a))
print(lis)
[1, 2, 3, 4]

可以用 json.dumps 参考: https://www.geeksforgeeks.org/json-dumps-in-python/