在Python中我想创建由集合组成的集合,因此我得到一组集合(嵌套集合).
例:
{{1,2}, {2,3}, {4,5}}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试以下内容时:
s = set()
s.add(set((1,2)))
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
s.add(set((1,2)))
TypeError: unhashable type: 'set'
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我的错误在哪里以及我如何实现目标?
您的问题是集合只能包含可散列对象,而且set不能散列.
您应该使用可清除的frozenset类型作为外部集的元素.
In [3]: s = set([frozenset([1,2]), frozenset([3,4])])
In [4]: s
Out[4]: {frozenset({1, 2}), frozenset({3, 4})}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3608 次 |
| 最近记录: |