title: Is there a way to check which built in methods in Python work for an object?
body: <p>When I want to look at the methods an object in Python has, I often just do</p>
  <pre class="lang-py prettyprint-override"><code>dir(obj)
  </code></pre>
  <p>For instance,</p>
  <pre class="lang-py prettyprint-override"><code>dir(list())
  </code></pre>
  <p>returns</p>
  <pre><code>['__add__',
   '__class__',
   '__contains__',
   '__delattr__',
   '__delitem__',
   '__dir__',
   '__doc__',
   '__eq__',
   '__format__',
   '__ge__',
   '__getattribute__',
   '__getitem__',
   '__gt__',
   '__hash__',
   '__iadd__',
   '__imul__',
   '__init__',
   '__init_subclass__',
   '__iter__',
   '__le__',
   '__len__',
   '__lt__',
   '__mul__',
   '__ne__',
   '__new__',
   '__reduce__',
   '__reduce_ex__',
   '__repr__',
   '__reversed__',
   '__rmul__',
   '__setattr__',
   '__setitem__',
   '__sizeof__',
   '__str__',
   '__subclasshook__',
   'append',
   'clear',
   'copy',
   'count',
   'extend',
   'index',
   'insert',
   'pop',
   'remove',
   'reverse',
   'sort']
  </code></pre>
  <p>However, I can still do</p>
  <pre class="lang-py prettyprint-override"><code>max([1,2,3,4,5])
  </code></pre>
  <p>which returns <code>5</code>. But note <code>max</code> is not on that list.</p>
  <p>I was wondering if there was a method for checking which built in functions accept a given object? So for instance, <code>max</code> can operate on lists. It would be nice if there were a list  of &quot;here's all the built in functions that can operate on a list.&quot;</p>