我需要一种干净的方法来确定字符串是否实际上是一个元组,如下所示:
'(123,456)' - >真
'hello world' - >假
我可以想到两种方法:
我不喜欢第二种选择。我对第一个选项很好,但只是想知道是否有更好的方法来做到这一点。
感谢。
答案 0 :(得分:7)
def represents_tuple(s):
try: return type(ast.literal_eval(s)) == tuple
except SyntaxError: return False
except ValueError: return False
答案 1 :(得分:0)
如果字符串中的元组只能有简单的数字,那么使用正则表达式。如果元组成员可以是任意复杂的(例如嵌套列表),请使用eval。