我偶然发现了一篇博客文章,详细介绍了如何在 Python 中实现 powerset 函数。所以我开始尝试自己的方法,发现 Python 显然不能有一组集合,因为集合是不可散列的。这很烦人,因为幂集的定义是它是一组集合,而我想使用实际的集合操作来实现它。
>>> set([ set() ])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'set'
Python 集合不可散列是否有充分的理由?
最佳答案
通常,在 Python 中只有不可变对象(immutable对象)是可散列的。 set()
的不可变变体——frozenset()
——是可散列的。
关于python - 为什么 Python 集合不可散列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6310867/