擅长:python、mysql、java
<p>需要注意的是:首先,您使用的<code>deque</code>的方法只有<code>append()</code>和{<cd3>}。所以使用普通的Python列表更自然。除非你需要把东西放上去,或者把东西取下来,“左端”,否则deque没有比单子更有效的了。在</p>
<p>其次,你已经知道如何测试一个空的deque!你在这里做的:</p>
<pre><code>if param_stack == []:
</code></pre>
<p>这有点奇怪,因为你在比较一个deque和一个列表,但是它是有效的。再加上一点经验,你可以这样写:</p>
^{pr2}$
<p>如果经验丰富,您可以使用:</p>
<pre><code>if not param_stack:
</code></pre>
<p>(空容器在truth-y上下文中通常表现为False)。在</p>
<p>但是不管你怎么写,与其引入<code>try/except</code>块,它更容易、更清晰地执行以下操作:</p>
<pre><code> if n ==')':
if param_stack: # i.e., if it's not empty
param_stack.pop()
else: # it's empty
return False
</code></pre>
<p>明白了吗?在</p>