В теории типов список - это однородная структура, содержащая значения одного типа.Таким образом, List
принимает только один тип, и каждый элемент этого списка должен иметь этот тип.
Однако теория типов также предоставляет типы сумм, которые можно рассматривать как обертку вокруг ровно одногозначение выбрано из некоторого фиксированного набора типов.Тип суммы поддерживается typing.Union
.Чтобы указать, что список представляет собой сочетание значений int
и str
, используйте
List[Union[str, int]]
в качестве подсказки типа.
В отличие от этого, кортеж является примером тип продукта , тип, состоящий из фиксированного набора типов, значения которого представляют собой набор значений, по одному от каждого типа в типе продукта.Tuple[int,int,int]
, Tuple[str,int]
и Tuple[int,str]
- все это разные типы, различающиеся как числом типов в продукте, так и порядком их появления.