首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Set与set python

Set与set python
EN

Stack Overflow用户
提问于 2015-08-20 09:40:46
回答 4查看 3.5K关注 0票数 8

set("a")sets.Set("a")有什么不同?他们的类型是不同的,但他们似乎做了同样的事情。

我在网上找不到任何关于它的资源,但我在示例中见过这两种方法的使用。

EN

回答 4

Stack Overflow用户

发布于 2015-08-20 09:45:42

您已经标记了这个Python3,所以不同之处在于sets不存在。使用set

在Python2中,不同之处在于sets被弃用。它是旧的、慢的、不太好的版本。使用set。这一点在搜索Python sets时立即出现的documentation for the sets module中得到了解释。

票数 12
EN

Stack Overflow用户

发布于 2015-08-20 09:45:27

内置的set()基于旧的sets.Set(),运行速度更快。

这两个“做”同样的事情,虽然在Python3中“集”模块不再存在。

以下是直接来自Python2库的答案:

内置的set和frozenset类型是根据从sets模块中学到的经验设计的。主要区别在于:

Set和ImmutableSet重命名为set和frozenset。

  • 没有BaseSet的等价物。相反,使用isinstance(x,(set,frozenset))。

  • 内置的散列算法在大多数数据集上执行得更好(冲突更少)。

  • 内置版本有更多节省空间的泡菜。

  • 内置版本没有union_update()方法。相反,使用等效的update()方法。

  • 内置版本没有_repr(sorted=True)方法。相反,可以使用内置的repr()和sorted()函数: repr(sorted(s))。

  • 内置版本没有自动转换为不可变的协议。许多人发现这一功能令人困惑,社区中没有人报告说发现了它的真正用途。
票数 4
EN

Stack Overflow用户

发布于 2015-08-20 09:45:59

Set现在是内置的,可以在不显式导入'sets‘模块的情况下使用。

参考资料:

Python - can't import Set from sets ("no module named sets")

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

https://stackoverflow.com/questions/32108235

复制
相关文章

相似问题

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