我有以下 Python 问题,我想知道是否有直接的方法来处理它(使用我不知道的特定函数等)。
我有一个包含不同类型输入(整数、字符串等)的列表。我使用 str()
函数将列表转换为字符串。现在变量的类型是一个字符串。我对该字符串进行了一些处理,然后我想将该字符串转换回具有它具有的初始变量类型(整数、字符串等)的初始列表。
这是一个例子:
list = [1,'house',3]
print(type(list)) # gives <class list>
print(type(list[0])) # gives <type int>
print(type(list[1])) # gives <type str>
string = str(list)
print(type(string)) # gives <type string>
... # use this string to process data
# convert the string into the initial list
? ?
我想也许我可以在开始时迭代我的列表并将其属性的类型存储在列表中 (list_b
)。稍后当我将字符串转换为列表时,我将分解字符串并将字符串转换为与 list_b
对应的变量类型。
我想知道是否有比这更直接的方法?
最佳答案
您可以使用 ast.literal_eval
将字符串转换为 Python 对象。
from ast import literal_eval
s = "[1, 'house', 3]"
l = literal_eval(s)
print(l)
# [1, 'house', 3]
请注意,根据上面链接的文档,字符串只能由字符串、字节、数字、元组、列表、字典、集合、 bool 值和无
组成。
关于python - 如何将列表转换为字符串并将此字符串转换回初始列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27442093/