Python类型提示:何时使用MutableSequence vs List

问题描述 投票:1回答:1

我一直在阅读有关typing.Sequencetyping.MutableSequence的信息。两者之间都没有大量的“光阅读”,所有内容都直接变成了细节。

this answerCan you specify variance in a Python type annotation?

序列是列表的只读版本

因此,我想知道,MutableSequence和普通的List有什么区别?


更多详细信息

我能找到的最佳资源是Python数据模型的The standard type hierarchy部分。

通过阅读Mutable sequences部分,看来MutableSequence可能是List的“父母”?

换句话说,可以互换使用它们,只是MutableSequence的限制要少一些?

python list sequence type-hinting python-typing
1个回答
3
投票

MutableSequence代表任意可变序列。例如,array.array的实例满足array.array

MutableSequence特别是仅列出。如果对象不是列表,则不满足List

要表达“可变序列”时,请使用List。要表达“列表”时,请使用MutableSequence

© www.soinside.com 2019 - 2024. All rights reserved.