ber*_*ers 4 python collections
我想检查一个传递给函数的集合是否是有序的,即元素的顺序是固定的。(我不是在谈论“排序”。)
set未排序。lists 和tuples 是有序的。是否有我可以使用的通用测试?
有序非映射集合通常实现序列协议(其主要特点是通过__getitem__方法提供索引访问)并且可以针对collections.abc.Sequence以下内容进行类型测试:
from collections.abc import Sequence
isinstance(set(), Sequence)
# False
isinstance(list(), Sequence)
# True
isinstance(tuple(), Sequence)
# True
Run Code Online (Sandbox Code Playgroud)
如果有人坚持应该包含有序映射,即 a dict(从 Python 3.7 开始订购),您可以针对collections.abc.Reversible以下情况进行测试:
isinstance(set(), Reversible)
# False
isinstance(list(), Reversible)
# True
isinstance(tuple(), Reversible)
# True
isinstance(dict(), Reversible)
# True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |