我从像 "('mono')"
这样的软件返回了一个字符串,我需要从中将字符串转换为元组。
我在考虑使用 ast.literal_eval("('mono')")
但它说的是格式错误的字符串。
最佳答案
由于您需要元组,因此在某些情况下您必须期望包含多个元素的列表。不幸的是,您没有给出超出琐碎的 (mono)
的例子,所以我们不得不猜测。这是我的猜测:
"(mono)"
"(two,elements)"
"(even,more,elements)"
如果您的所有数据都像这样,通过拆分字符串(减去周围的括号)将其变成列表,然后调用元组构造函数。即使在单元素情况下也能工作:
assert data[0] == "(" and data[-1] == ")"
elements = data[1:-1].split(",")
mytuple = tuple(elements)
或者在一个步骤中:elements = tuple(data[1:-1].split(","))
。
如果您的数据不看起来像我的示例,请编辑您的问题以提供更多详细信息。
关于python - 在python中将字符串转换为元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30123319/