python - 将集合添加到集合并制作嵌套集合

标签 python set nested

在 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/

相关文章:

python - 在 Python 中以编程方式确定 distutils 数据文件的位置

python - 有向无环图的哈希值

python - 使用 Python 查询 MongoDB

java - 使用 Arraylist 实现邻接列表

python - 将文件数据转换为嵌套列表

hadoop - Q : how to unnest bags from complicated data structure in PIG

python - 如何在 python 中扩展 1D FFT 代码来计算图像(2D)的 FFT?

Java:Set接口(interface)和Collection接口(interface)的区别

java - 生成系列 {1,3,9,27,....} 的子集并按总和的升序排列子集

python - 集/线相交解