Why does (1 in [1,0] == True) evaluate to False?
<p>When I was looking at answers to <a href="http://stackoverflow.com/questions/9201445/python-best-way-to-keep-track-of-results-from-loop">this question</a>, I found I didn't understand my own answer.</p>

<p>I don't really understand how this is being parsed. Why does the second example return False?</p>

<pre><code>&gt;&gt;&gt; 1 in [1,0]             #This is expected
True
&gt;&gt;&gt; 1 in [1,0] == True     #This is strange
False
&gt;&gt;&gt; (1 in [1,0]) == True   #This is what I wanted it to be
True
&gt;&gt;&gt; 1 in ([1,0] == True)   #But its not just a precedence issue!
                           #It did not raise an exception on the second example.

Traceback (most recent call last):
  File "&lt;pyshell#4&gt;", line 1, in &lt;module&gt;
    1 in ([1,0] == True)
TypeError: argument of type 'bool' is not iterable
</code></pre>

<p>Thanks for any help. I think I must be missing something really obvious.</p>
