我有一个从类似“(‘mono’)”之类的软件返回的字符串,我需要将字符串转换为元组.
我当时在想使用ast.literal_eval(“(‘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(“,”)).
如果您的数据与我的示例不同,请编辑问题以提供更多详细信息.