擅长:python、mysql、java
<p>使用<a href="https://docs.python.org/2/library/functions.html#any" rel="nofollow">^{<cd1>} function</a>并将循环放入生成器表达式中:</p>
<pre><code>return any((x0, y0) in v for v in A.itervalues())
</code></pre>
<p><code>any()</code>函数一次推进生成器一步,并在<code>(x0, y0) in v</code>测试返回true时返回<code>True</code>(提前退出)。这意味着只需完成<em>最小的</em>工作量。你知道吗</p>
<p>演示:</p>
<pre><code>>>> A = {
... (0,0): [(0, 0), (1, 2), (3, 2)],
... (1,1): [(2, 0)],
... (10,1): [(0, 0), (2, 1)]
... }
>>> x0, y0 = 2, 0
>>> any((x0, y0) in v for v in A.itervalues())
True
>>> x0, y0 = 2, 42
>>> any((x0, y0) in v for v in A.itervalues())
False
</code></pre>