gpt4 book ai didi

python - 如何检查 Python 集合是否已订购?

转载 作者:行者123 更新时间:2023-12-03 21:44:48 26 4
gpt4 key购买 nike

我想检查一个传递给函数的集合是否是有序的,即元素的顺序是固定的。 (我不是在谈论“排序”。)

  • 一个 set没有订购。
  • list s 和 tuple s 是有序的。

  • 是否有我可以使用的通用测试?

    最佳答案

    有序非映射集合通常实现 sequence protocol (其主要特点是通过 __getitem__ 方法提供索引访问)并且可以针对 collections.abc.Sequence 进行类型测试。 :

    from collections.abc import Sequence

    isinstance(set(), Sequence)
    # False
    isinstance(list(), Sequence)
    # True
    isinstance(tuple(), Sequence)
    # True
    如果坚持应该包含有序映射,即 dict ( ordered as of Python 3.7 ),你可以测试 collections.abc.Reversible :
    isinstance(set(), Reversible)
    # False
    isinstance(list(), Reversible)
    # True
    isinstance(tuple(), Reversible)
    # True
    isinstance(dict(), Reversible)
    # True

    关于python - 如何检查 Python 集合是否已订购?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65253957/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com