如果我有一个看起来像元组的字符串,我怎么能把它变成一个元组?
s = '(((3,),(4,2),(2,)),((1,),(2,4),(2,)))'
我想把它变成一个包含其他元组的元组.
t = tuple((((3,),(4,2),(2,)),((1,),(2,4),(2,))))
不起作用,因为它甚至使(作为元组中的项目).
解决方法:
你需要使用ast.literal_eval
:
from ast import literal_eval
s = '(((3,),(4,2),(2,)),((1,),(2,4),(2,)))'
t = literal_eval(s)
print(t)
print(type(t))
(((3,), (4, 2), (2,)), ((1,), (2, 4), (2,)))
<class 'tuple'>