python:如何确定字符串是否包含元组?

kke*_*ogh 1 python string tuples eval

我需要一个干净的方法来确定字符串是否实际上是一个元组,如下所示:

'(123,456)' - >是的

'你好世界' - >错

我可以想到两种方法:

  1. 一个正则表达式
  2. 调用eval并捕获/忽略SyntaxError

我不喜欢第二种选择.我对第一个选项很好,但只是想知道是否有更好的方法来做到这一点.

谢谢.

Fre*_*Foo 7

def represents_tuple(s):
    try: return type(ast.literal_eval(s)) == tuple
    except SyntaxError: return False
    except ValueError: return False
Run Code Online (Sandbox Code Playgroud)