擅长:python、mysql、java
<p>最简单的方法是使用<a href="http://docs.python.org/library/stdtypes.html#set.difference" rel="nofollow">set difference</a>:</p>
<pre><code>unfollowThese = set(iFollow).difference(followsMe)
</code></pre>
<p>如果<code>followsMe</code>很大的话,这应该比列表理解更快——它是线性平均时间复杂度,长度为<code>followsMe</code>的O(n),而不是两个长度都是线性的,所以O(n*k)。你知道吗</p>
<p>为了完整起见,请注意,您可以使用<code>set</code>来加快“order matters”版本的运行速度,以便将实时性也线性化:</p>
<pre><code>followsMeSet = set(followsMe)
unfollowThese = [person for person in iFollow if person not in followsMeSet]
</code></pre>
<p>因为<code>set</code>成员资格测试是恒定的平均时间。你知道吗</p>