python - 将元组的字符串转换为元组

标签 python arrays string list tuples

如果我有一个看起来像元组的字符串,我如何将它变成一个元组?

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'>

关于python - 将元组的字符串转换为元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34166703/

相关文章:

python - 在 __init__ 中定义成员与在 python 的类主体中定义它之间的区别?

python - 通过索引/列元素连接数据帧

c# - 格式化字符串-编译时检查

c - 使用 C 使用随机数填充和打印数组

java - CSV输入到java中的二维数组

c - 通过递归反转字符串中的单词

Java - '\' 未用于转义字符串中的双引号“

python - 使用 pymongo 创建 map

python - 如何展平 Pandas 中 groupby 操作的结果?

c++ - 如何在 C++ 中使用 for 循环递增两个不同的值