title: Create a python object that can be accessed with square brackets
body: <p>I would like to create a new class that acts as a special type of container for objects, and can be accessed using square brackets.</p>
  
  <p>For example, suppose I have a class called <code>ListWrapper</code>. Suppose <code>obj</code> is a <code>ListWrapper</code>. When I say <code>obj[0]</code>, I expect the method <code>obj.access()</code> to be called with 0 as an argument. Then, I can return whatever I want. Is this possible?</p>