title: Python "set" with duplicate/repeated elements
body: <p>Is there a standard way to represent a "set" that can contain duplicate elements.</p>
  
  <p>As I understand it, a set has exactly one or zero of an element. I want functionality to have any number.</p>
  
  <p>I am currently using a dictionary with elements as keys, and quantity as values, but this seems wrong for many reasons.</p>
  
  <p><strong>Motivation:</strong>
  I believe there are many applications for such a collection. For example, a survey of favourite colours could be represented by:
      survey = ['blue', 'red', 'blue', 'green']</p>
  
  <p>Here, I do not care about the order, but I do about quantities. I want to do things like:</p>
  
  <pre><code>survey.add('blue')
  # would give survey == ['blue', 'red', 'blue', 'green', 'blue']
  </code></pre>
  
  <p>...and maybe even</p>
  
  <pre><code>survey.remove('blue')
  # would give survey == ['blue', 'red', 'green']
  </code></pre>
  
  <p><strong>Notes:</strong>
  Yes, set is not the correct term for this kind of collection. Is there a more correct one?</p>
  
  <p>A list of course would work, but the collection required is unordered. Not to mention that the method naming for sets seems to me to be more appropriate.</p>