title: Unique only cartesian product of several lists
body: <p>The following works well for <code>cart_product([1,2,3], [a,b,c], [v])</code>, doesn't it also return duplicate cartesian product, if so, how to get unique cartesian products?</p>
  
  <pre><code>import itertools
  def cart_product(*somelists):
      for element in itertools.product(*somelists):
          print element
  </code></pre>
  
  <p>also this doesn't seem to work when I pass in a list containing lists <code>[ [1,2,3],[a,b,c],[v] ]</code></p>