首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中创建一组集合?

如何在Python中创建一组集合?
EN

Stack Overflow用户
提问于 2011-05-09 08:15:53
回答 4查看 67.2K关注 0票数 142

我正在尝试用Python制作一组集合。我想不出该怎么做。

从空集xx开始

代码语言:javascript
复制
xx = set([])
# Now we have some other set, for example
elements = set([2,3,4])
xx.add(elements)

但我得到了

代码语言:javascript
复制
TypeError: unhashable type: 'list'

代码语言:javascript
复制
TypeError: unhashable type: 'set'

在Python中可以有一组集合吗?

我正在处理一个很大的集合,我希望不需要处理重复的集合(集合B包含集合A1,A2,...,如果Ai =Aj,则会“取消”两个集合)。

EN

回答 4

Stack Overflow用户

发布于 2011-05-09 08:18:50

Python的抱怨是因为内部的set对象是可变的,因此是不可哈希的。解决方案是对内部集使用frozenset,以表明您不打算修改它们。

票数 135
EN

Stack Overflow用户

发布于 2014-01-28 17:06:33

人们已经提到你可以使用frozenset()来实现这一点,所以我将添加一个代码来实现这一点:

例如,您希望从以下列表列表中创建一组集合:

代码语言:javascript
复制
t = [[], [1, 2], [5], [1, 2, 5], [1, 2, 3, 4], [1, 2, 3, 6]]

您可以通过以下方式创建您的集:

代码语言:javascript
复制
t1 = set(frozenset(i) for i in t)
票数 65
EN

Stack Overflow用户

发布于 2011-05-09 08:17:36

在内部使用frozenset

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5931291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档