擅长:python、mysql、java
<p><code>list</code>,<code>tuple</code>等,确实在等式检查之前执行身份检查,这种行为是由<a href="http://bugs.python.org/issue4296#msg75735">these invariants</a>引起的:</p>
<pre><code>assert a in [a]
assert a in (a,)
assert [a].count(a) == 1
for a in container:
assert a in container # this should ALWAYS be true
</code></pre>
<p>不幸的是,<code>dict</code>s、<code>set</code>s和朋友都是通过散列操作的,所以如果你搞乱了这些,你确实可以有效地破坏它们。在</p>
<p>请参见<a href="http://bugs.python.org/issue4296">this issue</a>和<a href="http://bugs.python.org/issue11945">this issue</a>了解一些历史记录。在</p>