Intricacies in Python's parser
<p>In what order are the contents of the expression<code>"word" in [] == False</code> parsed? It seems to defy all logic:</p>

<pre><code>&gt;&gt;&gt; "word" in [] == False
False
&gt;&gt;&gt; ("word" in []) == False
True
&gt;&gt;&gt; "word" in ([] == False)
TypeError
</code></pre>

<p>How does Python actually interpret this expression, and why does it interpret it so?</p>

<p>Edit:</p>

<p>the most general case seems to be</p>

<pre><code>&gt;&gt;&gt; any_value in any_list == any_symbol_or_value
False
</code></pre>
