擅长:python、mysql、java
<p>编辑:正如u/Schwobasegl所指出的,您甚至不需要转换为<code>int</code>:</p>
<pre><code>if sum([a > b, a < c, a == d]) >= 2:
print("Conditions have been met")
</code></pre>
<hr/>
<pre><code>if sum(map(int, [a > b, a < c, a == d])) >= 2:
print("Conditions have been met")
</code></pre>
<p>这将使用每个值的结果创建一个布尔列表,然后将它们全部转换为<code>1</code>(如果它们是<code>True</code>),或者<code>0</code>(如果是<code>False</code>),然后将整个列表相加,给出真实条件的数量</p>
<p>请注意,这不会造成短路,也就是说,即使列表的第一部分中有足够的<code>True</code>个条件忽略其余条件,它仍然会评估所有条件</p>