title: Replace __str__ method on list object in Python
body: <p>This seems like it should be simple:</p>
  
  <p>I want a <code>list</code> like any other <code>list</code>, except it has a different <code>.__str__</code> method.</p>
  
  <ol>
  <li>Trying to set <code>object.__str__ = foo</code> results in a read-only error</li>
  <li>Trying to subclass <code>list</code> means you need some way to convert an existing <code>list</code> to an instance of the subclass.  This requires either copying all attributes manually (a huge pain), or somehow copying them all automatically, which I don't know how to do.</li>
  <li>Trying to write a wrapper around the <code>list</code> object means I have to figure out some way to send all messages to the wrapped object except <code>.__str__</code> which I handle with my own method.  Don't know how to do this.</li>
  </ol>
  
  <p>Any alternatives, or solutions #2 or #3 greatly appreciated.  Thanks!</p>