title: Python set difference of strings
body: <p>I encountered the below peculiar behaviour when creating difference of string sets in Python:</p>
  
  <pre><code>set(['a', 'b']) - set(['a'])   # results in {'b'} as expected
  set(['a', 'b']) - set('a')     # results in {'b'} as expected
  set(['a.', 'b']) - set(['a.']) # results in {'b'} as expected
  set(['a.', 'b']) - set('a.')   # surprisingly results in {'a.', 'b'}!
  </code></pre>
  
  <p>Why is it that in the last case 'a.' is not subtracted from the set? Since the difference between the second and the fourth case is the dot, I reckon that is the culprit. Using double quotes gives the same behaviour.</p>