title: Unordered Pairs (pair sets) in Python from a list
body: <p>I have a list of items</p>
  
  <pre><code> alist = ['dog', 'cat', 'fish']
  </code></pre>
  
  <p>I want to return all unique unordered pairs, so in this case:</p>
  
  <pre><code> (dog,cat)(dog,fish)(fish,cat)
  </code></pre>
  
  <p><code>itertools.combinations</code> does not take into account the unordered condition, so it is not quite what I need.</p>