python教程—从字符串解析元组?-Python实用宝典

python教程—从字符串解析元组?

假设我有一个与元组形式相同的字符串,例如“(1,2,3,4,5)”。把它转换成实际的元组最简单的方法是什么?我想做的一个例子是:

假设我有一个与元组形式相同的字符串,例如“(1,2,3,4,5)”。把它转换成实际的元组最简单的方法是什么?我想做的一个例子是:

    tup_string = "(1,2,3,4,5)" tup = make_tuple(tup_string)

只要在字符串上运行tuple()就可以使整个过程成为一个大的元组,而我想做的是将字符串理解为一个元组。我知道我可以用正则表达式,但我希望有一个更便宜的方法。想法吗?

回答

已经存在!

    >>> from ast import literal_eval as make_tuple >>> make_tuple("(1,2,3,4,5)") (1, 2, 3, 4, 5)

不过,要注意关键情况:

    >>> make_tuple("(1)") 1 >>> make_tuple("(1,)") (1,)

如果您的输入格式与这里的Python不同,那么您需要单独处理这种情况,或者使用tup_string[1:-1].split(',')中的另一种方法,比如tuple(int(x) for x)。

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
0

发表评论