擅长:python、mysql、java
<p>我有个有趣的小主意。它基本上是通过查看是否所有括号对都可以转换为单独的列表来工作的:</p>
<pre><code>from ast import literal_eval
def valid(s):
if any(c not in '[]' for c in s): return False
try:
literal_eval(s.replace('[]', '[],'))
return True
except SyntaxError:
return False
</code></pre>
<p>这(我相信)每次都应该奏效,包括你举的例子:</p>
<pre><code>>>> valid('[]')
True
>>> valid('][')
False
>>> valid('[][]')
True
>>> valid('][][')
False
>>> valid('[[][]]')
True
>>> valid('[]][[]')
False
</code></pre>