内置的set()基于旧的sets.Set()并且运行得更快。
两者“做”同样的事情,尽管在 Python 3 中“sets”模块不再存在。
以下是直接来自 Python 2 库的答案:
内置 set 和 freezeset 类型是根据从 set 模块吸取的经验教训设计的。主要区别是:
Set 和 ImmutableSet 被重命名为 set 和 freezeset。
- 没有与 BaseSet 等效的东西。相反,请使用 isinstance(x, (set, freezeset))。
- 对于大多数数据集,内置的哈希算法的性能明显更好(冲突更少)。
- 内置版本具有更节省空间的泡菜。
- 内置版本没有 union_update() 方法。相反,使用等效的 update() 方法。
- 内置版本没有 _repr(sorted=True) 方法。相反,请使用内置的 repr() 和 Sorted() 函数:repr(sorted(s))。
- 内置版本没有自动转换为不可变的协议。许多人发现这一功能令人困惑,社区中没有人报告发现它的真正用途。
| 归档时间: |
|
| 查看次数: |
2481 次 |
| 最近记录: |