我們知道在Python中,一組可以通過寫出其所有元素這樣的定義:Python中的在Python中,如何編寫一個包含集合的集合?
a_set={1,"xyz"}
和書籍都說了一組元素可以是任何數據類型。所以我們應該能夠寫出一個包含集合的集合。我試圖把它寫成:
a_set={1,{"xyz"}}
但IDLE報告錯誤:
Traceback (most recent call last):
File "<pyshell#58>", line 1, in <module>
a_set={1,{"xyz"}}
TypeError: unhashable type: 'set'
我想這可能是因爲Python正試圖把它理解爲一個字典。那麼,如何在Python中寫出一個包含集合的集合呢?
可能重複[?爲什麼不Python的哈希的設置(http://stackoverflow.com/questions/6310867/why-arent-python-sets-hashable) –
雖然它不直接回答問題,[爲什麼字典鍵必須是不可改變的?](http://docs.python.org/3.3/faq/ Python FAQ中的design.html#why-must-dictionary-keys-be-immutable)與此處相關。一個集合的值基本上與字典的鍵值相同(它們都存儲在散列表中),所以不能將集合放在集合中,原因與不能將字典用作字典鍵的原因相同。 – abarnert