python - 在python中将字符串转换为元组

标签 python string tuples eval

我从像 "('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/

相关文章:

python - 专门使用正则表达式或语句进行字符串操作

Python 在从元组打印索引时添加新行

python 我应该在这种情况下使用生成器吗?

python - 如何获取桌面位置?

Python Flask WTForms 依赖下拉列表

c# - VS 2017 中的元组语法

c# - 是否有一个版本的 Tuple 类的 Items 属性不是只读的并且可以设置?

python - 从 pyinstaller 制作的外部 exe 文件调用时出现未知命令 "syncdb"

python - 删除pandas中重复的汉字

c - 如何使 strcmp() 在我的 C 程序中工作