擅长:python、mysql、java
<p>不需要进口的:</p>
<pre><code>def single_true(iterable):
i = iter(iterable)
return any(i) and not any(i)
</code></pre>
<p>或者,也许是更可读的版本:</p>
<pre><code>def single_true(iterable):
iterator = iter(iterable)
has_true = any(iterator) # consume from "i" until first true or it's exhuasted
has_another_true = any(iterator) # carry on consuming until another true value / exhausted
return has_true and not has_another_true # True if exactly one true found
</code></pre>
<p>这:</p>
<ul>
<li>试图确保<code>i</code>具有任何真实值</li>
<li>从iterable中的那一点开始一直寻找,以确保没有其他真正的值</li>
</ul>