擅长:python、mysql、java
<p>您可以使用<code>set.update</code>就地更新主集。这节省了一直分配新集合的时间,因此应该比<code>set.union</code>快一点。。。</p>
<pre><code>>>> s = set(range(3))
>>> s.update(range(4))
>>> s
set([0, 1, 2, 3])
</code></pre>
<hr/>
<p>当然,如果你在循环中这样做:</p>
<pre><code>masterSet = set()
for setA in iterable:
masterSet = masterSet.union(setA)
</code></pre>
<p>您可能会通过以下方式提高性能:</p>
<pre><code>masterSet = set().union(*iterable)
</code></pre>
<hr/>
<p>最终,集的成员资格测试是O(1)(在平均情况下),因此测试元素是否已经包含在集中并不是一个真正的性能大问题。</p>