可变和不可变有序集合的实现。
项目描述
orderedsets
作为Python的dict
类薄封装实现可变和不可变有序集合。这些类旨在作为Python内置的set
和frozenset
类的直接替代品。已经尽力提供与Python类相同的功能,不添加或删除API,以允许在集合实现之间轻松切换。这些类通常比其他有序集合实现更快(但比Python内置的集合慢)。
与Python内置的set
和frozenset
类相比,项目的顺序被保持(通常为插入顺序),这样在迭代集合中的项目以及更改操作都是确定的。
此包没有外部依赖项。
使用
使用以下命令安装此软件包
$ pip install orderedsets
使用示例
from orderedsets import OrderedSet, FrozenOrderedSet
os = OrderedSet([1, 2, 4])
os.add(0)
assert list(os) == [1, 2, 4, 0]
os.remove(0)
fos = FrozenOrderedSet([1, 2, 4])
# a.add(0) # raises AttributeError: 'FrozenOrderedSet' object has no attribute 'add'
assert list(fos) == [1, 2, 4]
# sets with the same elements compare equal
assert os == fos == set([1, 2, 4]) == frozenset([1, 2, 4])
# only immutable sets can be hashed
assert hash(fos) == hash(frozenset([1, 2, 4]))
请参阅文档。
参考文献
其他软件包
- https://github.com/rindPHI/proxyorderedset/(与集合不完全兼容)
- https://pypi.ac.cn/project/ordered-set/(没有冻结/不可变类)
- https://pypi.ac.cn/project/stableset/(没有冻结/不可变类)
- https://pypi.ac.cn/project/orderedset/(Cython,没有冻结/不可变类)
- https://pypi.ac.cn/project/Ordered-set-37/(没有冻结/不可变类)
讨论
Python实现
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分布
此版本没有可用的源代码分布文件。请参阅生成分布存档的教程。
构建分布
orderedsets-2024.2-py3-none-any.whl (7.0 kB 查看哈希值)
关闭
orderedsets-2024.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 68934e5f06f554b9815416551d2f85b97eca2a28fa6dda016d7cffe927640f7f |
|
MD5 | 8a84015b73829764ee11492dc673016c |
|
BLAKE2b-256 | ea6a6ee05d86f56c960b1fba991ccb69c79eee3146efae6c589cad4cc0be4faf |