title: Sort: How to treat special character greater than alphabetical in Python 2?
body: <p>Currently Python <code>sort()</code> and <code>sorted()</code> gives me this:</p>
  
  <pre><code>&gt;&gt;&gt; sorted(a, reverse=True, key=lambda s: re.sub('[\[\]]', '', s).lower())
  [u'Category123', u'[Cat@123]', u'CAT']
  </code></pre>
  
  <p>But I need:</p>
  
  <pre><code>[u'[Cat@123]', u'Category123', u'CAT']
  </code></pre>
  
  <p>I want characters like: <code>!@#$%^&amp;*</code> can be sorted as bigger than alphabetical chars.
  Thanks.</p>
  
  <p><strong>EDIT:</strong>
  Aside from the accepted answer, I figured out this would solve my problem:</p>
  
  <pre><code>&gt;&gt;&gt; sorted(a, reverse=True, key=lambda s:s.upper())
  [u'[Cat@123]', u'Category123', u'CAT']
  </code></pre>