title: Find intersection of two nested lists?
body: <p>I know how to get an intersection of two flat lists:</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>or</p>
  <pre><code>def intersect(a, b):
      return list(set(a) &amp; set(b))
   
  print intersect(b1, b2)
  </code></pre>
  <p>But when I have to find intersection for nested lists then my problems starts:</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>In the end I would like to receive:</p>
  <pre><code>c3 = [[13,32],[7,13,28],[1,6]]
  </code></pre>
  <p>Can you guys give me a hand with this?</p>
  <h3>Related</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>