擅长:python、mysql、java
<p><code>list(set(l) - set(m)) + list(set(m) - set(l))</code>是寻找两个集合之间的<a href="https://en.wikipedia.org/wiki/Symmetric_difference" rel="nofollow noreferrer">symmetric difference</a>的一种迂回的方法(“在两个集合中的任何一个集合中而不是在它们的交集中的元素集合”-Wikipedia)。你知道吗</p>
<pre><code>>>> set(l).symmetric_difference(m)
{1, 6}
</code></pre>
<hr/>
<p>总之,有了清单理解,我会这样做:</p>
<pre><code>>>> {el for (this,other) in [(m,l),(l,m)] for el in this if el not in other}
{1, 6}
</code></pre>
<p>这和</p>
<pre><code>>>> symdif = set()
>>> for this,other in [(m,l),(l,m)]:
... for el in this:
... if el not in other:
... symdif.add(el)
...
>>> symdif
{1, 6}
</code></pre>
<p>…我不推荐。你知道吗</p>