回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我知道如何得到两个平面列表的交集:</p>
<pre><code>b1 = [1,2,3,4,5,9,11,15]
b2 = [4,5,6,7,8]
b3 = [val for val in b1 if val in b2]
</code></pre>
<p>或者</p>
<pre><code>def intersect(a, b):
return list(set(a) & set(b))
print intersect(b1, b2)
</code></pre>
<p>但当我必须找到嵌套列表的交集时,我的问题就开始了:</p>
<pre><code>c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63]
c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]
</code></pre>
<p>最后我想得到:</p>
<pre><code>c3 = [[13,32],[7,13,28],[1,6]]
</code></pre>
<p>你们能帮我一下吗?</p>
<h3>相关</h3>
<ul>
<li><a href="https://stackoverflow.com/questions/406121/flattening-a-shallow-list-in-python">Flattening a shallow list in python</a></li>
</ul>