【发布时间】:2013-05-17 23:11:34
【问题描述】:
我们知道,在 Python 中,可以通过写出它的所有元素来定义一个集合,如下所示:
a_set={1,"xyz"}
Python 书籍都说集合的元素可以是任何数据类型。所以我们应该能够写出一个包含一个集合的集合。我试着把它写成:
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 常见问题解答中的 Why must dictionary keys be immutable? 与此处相关。集合的值与字典的键基本相同(它们都存储在哈希表中),因此您不能将集合放入集合中,原因与您不能将 dict 用作 dict 键的原因相同。
标签: python