我们知道在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