What type-hint contains both list and tuple?

Question:

I have a function that can accept as input any variable that can be indexed, such as a list or a tuple. How do I indicate this in the type-hint of the function?

Asked By: Erel Segal-Halevi

||

Answers:

Your method is accepting a sequence, so use typing.Sequence. That’s a generic, so you can specify what type of object(s) the sequence must contain:

from typing import Sequence

def foo(bar: Sequence[int]):
    # bar is a sequence of integers

Quoting the Python glossary:

An iterable which supports efficient element access using integer indices via the __getitem__() special method and defines a __len__() method that returns the length of the sequence. Some built-in sequence types are list, str, tuple, and bytes.

Answered By: Martijn Pieters
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.