title: Python set Union and set Intersection operate differently?
body: <p>I'm doing some set operations in Python, and I noticed something odd..</p>
  
  <pre><code>&gt;&gt; set([1,2,3]) | set([2,3,4])
  set([1, 2, 3, 4])
  &gt;&gt; set().union(*[[1,2,3], [2,3,4]])
  set([1, 2, 3, 4])
  </code></pre>
  
  <p>That's good, expected behaviour - but with intersection:</p>
  
  <pre><code>&gt;&gt; set([1,2,3]) &amp; set([2,3,4])
  set([2, 3])
  &gt;&gt; set().intersection(*[[1,2,3], [2,3,4]])
  set([])
  </code></pre>
  
  <p>Am I losing my mind here? Why isn't set.intersection() operating as I'd expect it to?</p>
  
  <p>How can I do the intersection of many sets as I did with union (assuming the <code>[[1,2,3], [2,3,4]]</code> had a whole bunch more lists)? What would the "pythonic" way be?</p>