擅长:python、mysql、java
<p>如果您不关心它们的原始顺序,最简单、最快捷的方法是使用set函数:</p>
<pre><code>>>> set().union(a, b, c)
{1, 2, 3, 4, 5, 6, 7, 8}
</code></pre>
<p>如果您关心原始顺序(在这种情况下,集合恰好保留了它,但不能保证),那么您可以通过认识到参数<code>lists</code>包含您传入的所有原始列表的元组来修复您的原始尝试。这意味着遍历它可以一次获取这些列表中的每个列表,而不是其中的元素—您可以使用itertools模块来解决这个问题:</p>
<pre><code>for x in itertools.chain.from_iterable(lists):
if x not in newlist:
newlist.append(x)
</code></pre>
<p>另外,您希望<code>newlist</code>以空列表而不是输入列表的副本开始。</p>