擅长:python、mysql、java
<blockquote>
<p>So Python evaluates x[0] as well although there is no reason to evaluate it. </p>
</blockquote>
<p>我假设这会对你有用,最基本的形式是:</p>
<pre><code>if len(x) > 0:
print("Hi Ho!")
</code></pre>
<p>这将计算X的长度,如果大于0,则响应True。你知道吗</p>
<p>但是,如果变量“x”不存在,它将出错。评估“x”是否存在,并且至少包含一个项目,是(我假设)你试图用它来完成的。。。你知道吗</p>
<pre><code>if x[0]:
print("Hi Ho!")
</code></pre>
<p>如果变量<em>存在</em>并且包含任何值,Python将计算为<code>True</code>。如果变量<em>存在</em>,但<em>不包含值</em>,它将计算为<code>False</code>。如果变量不存在,Python将出错。你知道吗</p>
<p>所以,这可能就是你要找的。。。你知道吗</p>
<pre><code>try:
if len(x) > 0:
print("Hi Ho!")
else:
print("Variable does not seem to contain a value!")
except (NameError, AttributeError, ValueError):
print("Variable does not exist!")
</code></pre>
<p><strong>编辑:</strong></p>
<p>注意,如果<code>x</code>作为列表存在,但不包含任何值,<code>len(x)</code>将计算为<code>0</code>。但是,如果您尝试计算<code>x[0]</code>,您仍然会得到一个错误,但这是一个<code>IndexError</code>,而不是“变量不存在”错误。你知道吗</p>