擅长:python、mysql、java
<p>首先,<a href="http://docs.python.org/2/library/stdtypes.html#set" rel="nofollow">^{<cd1>}</a>的元素必须是<a href="http://docs.python.org/2/glossary.html#term-hashable" rel="nofollow">^{<cd2>}</a>:</p>
<blockquote>
<p>The elements of a set must be hashable.</p>
</blockquote>
<p>而<a href="http://docs.python.org/2/glossary.html#term-hashable" rel="nofollow">^{<cd2>}</a>表示:</p>
<blockquote>
<p>An object is hashable if it has a hash value which never changes during its lifetime [...]</p>
</blockquote>
<p>所以只要你不改变对象的散列值(它的<code>__hash__</code>方法的结果)保持不变,一切都很好。你知道吗</p>
<p>在Python中,不可变对象通常被认为是可哈希的,而可变对象则不是:</p>
<blockquote>
<p>All of Python’s immutable built-in objects are hashable, while no mutable containers (such as lists or dictionaries) are.</p>
</blockquote>