1
我需要一個乾淨的方法來確定一個字符串實際上是一個元組,像這樣:python:如何確定一個字符串是否包含一個元組?
「(123456)」 - >真
「世界你好」 - >假
我能想到的兩種方法可以做到這一點:
- 正則表達式
- 調用EVAL和catch /忽略一個SyntaxError
我不喜歡第二個選項。我很滿意第一種選擇,但只是想知道是否有更好的方法來做到這一點。
謝謝。
我需要一個乾淨的方法來確定一個字符串實際上是一個元組,像這樣:python:如何確定一個字符串是否包含一個元組?
「(123456)」 - >真
「世界你好」 - >假
我能想到的兩種方法可以做到這一點:
我不喜歡第二個選項。我很滿意第一種選擇,但只是想知道是否有更好的方法來做到這一點。
謝謝。
def represents_tuple(s):
try: return type(ast.literal_eval(s)) == tuple
except SyntaxError: return False
except ValueError: return False
如果字符串中的元組只能有簡單的數字,則使用正則表達式。如果元組成員可以任意複雜(例如嵌套列表),請使用eval。
+1比普通的'eval'好得多。 – delnan 2011-03-25 18:18:36
當他通過'Hello World'時會引發異常 – GWW 2011-03-25 18:21:47
@GWW:修正了這個問題。 – 2011-03-25 18:49:23