在 Python 中,我想创建由集合组成的集合,所以我得到了一组集合(嵌套集合)。
例子:
{{1,2}, {2,3}, {4,5}}
但是当我尝试以下操作时:
s = set()
s.add(set((1,2)))
我得到一个错误:
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
s.add(set((1,2)))
TypeError: unhashable type: 'set'
谁能告诉我我的错误在哪里以及我是如何实现我的目标的?
最佳答案
您的问题是集合只能包含 hashable对象,并且 set
不可散列。
你应该使用 frozenset
类型,对于外部集合的元素,是可散列的。
In [3]: s = set([frozenset([1,2]), frozenset([3,4])])
In [4]: s
Out[4]: {frozenset({1, 2}), frozenset({3, 4})}
关于python - 将集合添加到集合并制作嵌套集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28004002/